From 05ba0b1dd52193c57c149115839f81e929b11626 Mon Sep 17 00:00:00 2001 From: naruse Date: Wed, 20 Oct 2010 01:48:24 +0000 Subject: * util.c (ruby_strtod): reject 0x1.p+0. [ruby-dev:42432] #3966 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_float.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'test/ruby/test_float.rb') diff --git a/test/ruby/test_float.rb b/test/ruby/test_float.rb index 961596b9a3..dd61f1919b 100644 --- a/test/ruby/test_float.rb +++ b/test/ruby/test_float.rb @@ -88,13 +88,15 @@ class TestFloat < Test::Unit::TestCase assert_raise(ArgumentError){Float("-.")} assert_raise(ArgumentError){Float("1e")} assert_raise(ArgumentError){Float("1__1")} + assert_raise(ArgumentError){Float("1.")} + assert_raise(ArgumentError){Float("1.e+00")} + assert_raise(ArgumentError){Float("0x1.p+0")} # add expected behaviour here. assert_equal(10, Float("1_0")) assert_equal([ 0.0].pack('G'), [Float(" 0x0p+0").to_f].pack('G')) assert_equal([-0.0].pack('G'), [Float("-0x0p+0").to_f].pack('G')) assert_equal(255.0, Float("0Xff")) - assert_equal(1.0, Float("0X1.P+0")) assert_equal(1024.0, Float("0x1p10")) assert_equal(1024.0, Float("0x1p+10")) assert_equal(0.0009765625, Float("0x1p-10")) @@ -452,7 +454,7 @@ class TestFloat < Test::Unit::TestCase assert_raise(ArgumentError) { Float('0xfp') } assert_raise(ArgumentError) { Float('0xf.') } assert_raise(ArgumentError) { Float('0xf.p') } - assert_equal(15, Float('0xf.p0')) + assert_raise(ArgumentError) { Float('0xf.p0') } assert_raise(ArgumentError) { Float('0xf.f') } assert_raise(ArgumentError) { Float('0xf.fp') } assert_equal(Float::INFINITY, Float('0xf.fp1000000000000000')) -- cgit v1.2.3