summaryrefslogtreecommitdiff
path: root/test/ruby/test_rational.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_rational.rb')
-rw-r--r--test/ruby/test_rational.rb19
1 files changed, 11 insertions, 8 deletions
diff --git a/test/ruby/test_rational.rb b/test/ruby/test_rational.rb
index a51ce3dc99..e0edbde463 100644
--- a/test/ruby/test_rational.rb
+++ b/test/ruby/test_rational.rb
@@ -117,9 +117,13 @@ class Rational_Test < Test::Unit::TestCase
assert_equal(Rational(111, 1000), Rational('1.11e-1'))
assert_raise(TypeError){Rational(nil)}
assert_raise(ArgumentError){Rational('')}
- assert_raise_with_message(ArgumentError, /\u{221a 2668}/) {
- Rational("\u{221a 2668}")
- }
+
+ EnvUtil.with_default_internal(Encoding::UTF_8) do
+ assert_raise_with_message(ArgumentError, /\u{221a 2668}/) {
+ Rational("\u{221a 2668}")
+ }
+ end
+
assert_warning('') {
assert_predicate(Rational('1e-99999999999999999999'), :zero?)
}
@@ -1066,11 +1070,10 @@ class Rational_Test < Test::Unit::TestCase
end
def test_power_overflow
- bug = '[ruby-core:79686] [Bug #13242]: Infinity due to overflow'
- x = EnvUtil.suppress_warning {4r**40000000}
- assert_predicate x, :infinite?, bug
- x = EnvUtil.suppress_warning {(1/4r)**40000000}
- assert_equal 0, x, bug
+ assert_raise(ArgumentError) { 4r**400000000000000000000 }
+ exp = 4**40000000
+ assert_equal exp, 4r**40000000
+ assert_equal 1r/exp, (1/4r)**40000000
end
def test_positive_p