From 5bbc461fcbe18b0ab69c459a94cf0b58f5a4e6b9 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sat, 2 Feb 2008 04:28:42 +0000 Subject: Fix calculations on associations with custom :foreign_key. Closes #8117 [kamal, jack] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8778 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/cases/invalid_date_test.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 activerecord/test/cases/invalid_date_test.rb (limited to 'activerecord/test/cases/invalid_date_test.rb') diff --git a/activerecord/test/cases/invalid_date_test.rb b/activerecord/test/cases/invalid_date_test.rb new file mode 100644 index 0000000000..e2bb17c37f --- /dev/null +++ b/activerecord/test/cases/invalid_date_test.rb @@ -0,0 +1,24 @@ +require 'cases/helper' +require 'models/topic' + +class InvalidDateTest < Test::Unit::TestCase + def test_assign_valid_dates + valid_dates = [[2007, 11, 30], [1993, 2, 28], [2008, 2, 29]] + + invalid_dates = [[2007, 11, 31], [1993, 2, 29], [2007, 2, 29]] + + topic = Topic.new + + valid_dates.each do |date_src| + topic = Topic.new("last_read(1i)" => date_src[0].to_s, "last_read(2i)" => date_src[1].to_s, "last_read(3i)" => date_src[2].to_s) + assert_equal(topic.last_read, Date.new(*date_src)) + end + + invalid_dates.each do |date_src| + assert_nothing_raised do + topic = Topic.new({"last_read(1i)" => date_src[0].to_s, "last_read(2i)" => date_src[1].to_s, "last_read(3i)" => date_src[2].to_s}) + assert_equal(topic.last_read, Time.local(*date_src).to_date, "The date should be modified according to the behaviour of the Time object") + end + end + end +end -- cgit v1.2.3