aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/date_ext_test.rb
diff options
context:
space:
mode:
authorNick Holden <nick.r.holden@gmail.com>2018-03-06 20:42:49 -0800
committerNick Holden <nick.r.holden@gmail.com>2018-03-06 20:42:49 -0800
commit20fa0d92c36681f6cffc715e08c299ff942352f4 (patch)
tree16c284564bb661a58694bed695b41e9d312bf2cb /activesupport/test/core_ext/date_ext_test.rb
parentb5aa0266d0a4d5f7a02eb31df730fa172d1a845a (diff)
downloadrails-20fa0d92c36681f6cffc715e08c299ff942352f4.tar.gz
rails-20fa0d92c36681f6cffc715e08c299ff942352f4.tar.bz2
rails-20fa0d92c36681f6cffc715e08c299ff942352f4.zip
Add `before?` and `after?` methods to date and time classes
Equality comparisons between dates and times can take some extra time to comprehend. I tend to think of a date or time as "before" or "after" another date or time, but I naturally read `<` and `>` as "less than" and "greater than." This change seeks to make date/time comparisons more human readable.
Diffstat (limited to 'activesupport/test/core_ext/date_ext_test.rb')
-rw-r--r--activesupport/test/core_ext/date_ext_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/date_ext_test.rb b/activesupport/test/core_ext/date_ext_test.rb
index b8652884ce..8d3d575e0f 100644
--- a/activesupport/test/core_ext/date_ext_test.rb
+++ b/activesupport/test/core_ext/date_ext_test.rb
@@ -360,6 +360,18 @@ class DateExtCalculationsTest < ActiveSupport::TestCase
end
end
+ def test_before
+ assert_equal false, Date.new(2017, 3, 6).before?(Date.new(2017, 3, 5))
+ assert_equal false, Date.new(2017, 3, 6).before?(Date.new(2017, 3, 6))
+ assert_equal true, Date.new(2017, 3, 6).before?(Date.new(2017, 3, 7))
+ end
+
+ def test_after
+ assert_equal true, Date.new(2017, 3, 6).after?(Date.new(2017, 3, 5))
+ assert_equal false, Date.new(2017, 3, 6).after?(Date.new(2017, 3, 6))
+ assert_equal false, Date.new(2017, 3, 6).after?(Date.new(2017, 3, 7))
+ end
+
def test_current_returns_date_today_when_zone_not_set
with_env_tz "US/Central" do
Time.stub(:now, Time.local(1999, 12, 31, 23)) do