summaryrefslogtreecommitdiffhomepage
path: root/test/t/float.rb
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-03-22 16:58:56 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-03-22 16:58:56 +0900
commit5488da6c445f4c72d2f916d7dcbc44c29852cfb6 (patch)
treeccc2aa4183f624f248b198024cfde51477dd2163 /test/t/float.rb
parent064030732a18e9c9234ac929816f55a896e25003 (diff)
parent8891cea41c8396012f786be00ee8d470f45241c1 (diff)
downloadmruby-5488da6c445f4c72d2f916d7dcbc44c29852cfb6.tar.gz
mruby-5488da6c445f4c72d2f916d7dcbc44c29852cfb6.zip
Merge pull request #1907 from ksss/float-round
Float#round fix bug for infinity and nan cases
Diffstat (limited to 'test/t/float.rb')
-rw-r--r--test/t/float.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/t/float.rb b/test/t/float.rb
index c817e01da..ded434320 100644
--- a/test/t/float.rb
+++ b/test/t/float.rb
@@ -130,6 +130,18 @@ assert('Float#round', '15.2.9.3.12') do
assert_equal( 3, g)
assert_float( 3.4, h)
assert_float(3.423, i)
+
+ assert_equal(42.0, 42.0.round(307))
+ assert_equal(1.0e307, 1.0e307.round(2))
+
+ inf = 1.0/0.0
+ assert_raise(FloatDomainError){ inf.round }
+ assert_raise(FloatDomainError){ inf.round(-1) }
+ assert_equal(inf, inf.round(1))
+ nan = 0.0/0.0
+ assert_raise(FloatDomainError){ nan.round }
+ assert_raise(FloatDomainError){ nan.round(-1) }
+ assert_true(nan.round(1).nan?)
end
assert('Float#to_f', '15.2.9.3.13') do