Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

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

…coverage for that
  • Loading branch information...
commit d96efe63681cdf63e7c1a1448387a39af736bab9 1 parent ac9f8e1
@fxn fxn authored
Showing with 10 additions and 0 deletions.
  1. +10 −0 activesupport/test/core_ext/date_ext_test.rb
View
10 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)
Please sign in to comment.
Something went wrong with that request. Please try again.