aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test/template/date_helper_test.rb
diff options
context:
space:
mode:
authorRobin Dupret <robin.dupret@gmail.com>2017-05-22 21:56:43 +0200
committerRobin Dupret <robin.dupret@gmail.com>2017-05-30 13:46:21 +0200
commitba84867549a2bb5c1d3cb0bec8cf9f41e46f6d74 (patch)
tree7c68ae5c2c515b7ce91429a57eadc543718b365f /actionview/test/template/date_helper_test.rb
parent845aabbcd3805420090f8b92b50a4562577cf210 (diff)
downloadrails-ba84867549a2bb5c1d3cb0bec8cf9f41e46f6d74.tar.gz
rails-ba84867549a2bb5c1d3cb0bec8cf9f41e46f6d74.tar.bz2
rails-ba84867549a2bb5c1d3cb0bec8cf9f41e46f6d74.zip
Remove requirement on mathn
The test using mathn was first introduced in f1d9179 to check that the `distance_of_time_in_words` properly doesn't use the `Fixnum#/` method by explicitly requiring this library as it redefines this method. Given that `mathn` has been gemified in Ruby 2.5 and is deprecated since version 2.2, we can certainly safely assume that people will most-likely not require this library in their application. However, to make sure that we don't regress, let's add a test similar to the one before f1d9179.
Diffstat (limited to 'actionview/test/template/date_helper_test.rb')
-rw-r--r--actionview/test/template/date_helper_test.rb14
1 files changed, 11 insertions, 3 deletions
diff --git a/actionview/test/template/date_helper_test.rb b/actionview/test/template/date_helper_test.rb
index a259752d6a..b667303318 100644
--- a/actionview/test/template/date_helper_test.rb
+++ b/actionview/test/template/date_helper_test.rb
@@ -138,11 +138,19 @@ class DateHelperTest < ActionView::TestCase
assert_equal "10 minutes", distance_of_time_in_words(Time.at(600), 0)
end
- def test_distance_in_words_with_mathn_required
- # test we avoid Integer#/ (redefined by mathn)
- silence_warnings { require "mathn" }
+ def test_distance_in_words_doesnt_use_the_quotient_operator
+ rubinius_skip "Date is written in Ruby and relies on Fixnum#/"
+ jruby_skip "Date is written in Ruby and relies on Fixnum#/"
+
+ klass = RUBY_VERSION > "2.4" ? Integer : Fixnum
+
+ # Make sure that we avoid {Integer,Fixnum}#/ (redefined by mathn)
+ klass.send :private, :/
+
from = Time.utc(2004, 6, 6, 21, 45, 0)
assert_distance_of_time_in_words(from)
+ ensure
+ klass.send :public, :/
end
def test_time_ago_in_words_passes_include_seconds