aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-03-16 01:53:52 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-03-16 01:53:52 +0000
commit96d5b6f824e09c3a981d8bc41ca7ea618ed58776 (patch)
treeb3afe8df4f6c6653a47b3d793f714368f7aeaf80 /test/ruby
parent38827f5820c7ef10e86691ffe3f0ee9e00f32d59 (diff)
downloadruby-96d5b6f824e09c3a981d8bc41ca7ea618ed58776.tar.gz
rational.c: zero division
* rational.c (read_rat_nos): denominator cannot be 0, raise zero division in that case. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_rational.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/ruby/test_rational.rb b/test/ruby/test_rational.rb
index 6185611a5c..ed4c5b1006 100644
--- a/test/ruby/test_rational.rb
+++ b/test/ruby/test_rational.rb
@@ -776,6 +776,11 @@ class Rational_Test < Test::Unit::TestCase
ng[5, 3, '5/3x']
end
+ def test_parse_zero_denominator
+ assert_raise(ZeroDivisionError) {"1/0".to_r}
+ assert_raise(ZeroDivisionError) {Rational("1/0")}
+ end
+
def test_to_i
assert_equal(1, Rational(3,2).to_i)
assert_equal(1, Integer(Rational(3,2)))