Permalink
Browse files

the order in which we apply deltas in Date#advance matters, add test …

…coverage for that
  • Loading branch information...
1 parent ac9f8e1 commit d96efe63681cdf63e7c1a1448387a39af736bab9 @fxn fxn committed Jun 6, 2010
Showing with 10 additions and 0 deletions.
  1. +10 −0 activesupport/test/core_ext/date_ext_test.rb
@@ -198,6 +198,16 @@ def test_advance
assert_equal Date.new(2005,2,28), Date.new(2004,2,29).advance(:years => 1) #leap day plus one year
end
+ def test_advance_does_first_years_and_then_days
+ assert_equal Date.new(2012, 2, 29), Date.new(2011, 2, 28).advance(:years => 1, :days => 1)
+ # If day was done first we would jump to 2012-03-01 instead.
+ end
+
+ def test_advance_does_first_months_and_then_days
+ assert_equal Date.new(2010, 3, 28), Date.new(2010, 2, 28).advance(:months => 1, :day => 1)
+ # If day was done first we would jump to 2010-04-01 instead.
+ end
+
def test_advance_in_calendar_reform
assert_equal Date.new(1582,10,15), Date.new(1582,10,4).advance(:days => 1)
assert_equal Date.new(1582,10,4), Date.new(1582,10,15).advance(:days => -1)

0 comments on commit d96efe6

Please sign in to comment.