summaryrefslogtreecommitdiffhomepage
path: root/test/t
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-01-14 19:13:09 +0900
committerGitHub <[email protected]>2019-01-14 19:13:09 +0900
commit348526e1add796cd8b7b6dda2889ef5627e398c5 (patch)
tree19d9c28bbe8e925b1b27986fbc376693dba5cd54 /test/t
parentc1b92f88a210d018b653dc9865fe5375cf118a61 (diff)
parent0e04c46261eb9d5193f21d423f5d00f1910a460a (diff)
downloadmruby-348526e1add796cd8b7b6dda2889ef5627e398c5.tar.gz
mruby-348526e1add796cd8b7b6dda2889ef5627e398c5.zip
Merge pull request #4225 from shuujii/improve-compatibility-to-cruby-for-float-to_s
Improve compatibility to CRuby for `Float#to_s`
Diffstat (limited to 'test/t')
-rw-r--r--test/t/float.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/t/float.rb b/test/t/float.rb
index 68fd31b9a..eac5c5792 100644
--- a/test/t/float.rb
+++ b/test/t/float.rb
@@ -206,4 +206,37 @@ assert('Float#>>') do
assert_equal(-1, -23.0 >> 128)
end
+assert('Float#to_s') do
+ uses_float = 4e38.infinite? # enable MRB_USE_FLOAT?
+
+ assert_equal("Infinity", Float::INFINITY.to_s)
+ assert_equal("-Infinity", (-Float::INFINITY).to_s)
+ assert_equal("NaN", Float::NAN.to_s)
+ assert_equal("0.0", 0.0.to_s)
+ assert_equal("-0.0", -0.0.to_s)
+ assert_equal("-3.21", -3.21.to_s)
+ assert_equal("50.0", 50.0.to_s)
+ assert_equal("0.00021", 0.00021.to_s)
+ assert_equal("-0.00021", -0.00021.to_s)
+ assert_equal("2.1e-05", 0.000021.to_s)
+ assert_equal("-2.1e-05", -0.000021.to_s)
+ assert_equal("1.0e+20", 1e20.to_s)
+ assert_equal("-1.0e+20", -1e20.to_s)
+ assert_equal("1.0e+16", 10000000000000000.0.to_s)
+ assert_equal("-1.0e+16", -10000000000000000.0.to_s)
+ assert_equal("100000.0", 100000.0.to_s)
+ assert_equal("-100000.0", -100000.0.to_s)
+ if uses_float
+ assert_equal("1.0e+08", 100000000.0.to_s)
+ assert_equal("-1.0e+08", -100000000.0.to_s)
+ assert_equal("1.0e+07", 10000000.0.to_s)
+ assert_equal("-1.0e+07", -10000000.0.to_s)
+ else
+ assert_equal("1.0e+15", 1000000000000000.0.to_s)
+ assert_equal("-1.0e+15", -1000000000000000.0.to_s)
+ assert_equal("100000000000000.0", 100000000000000.0.to_s)
+ assert_equal("-100000000000000.0", -100000000000000.0.to_s)
+ end
+end
+
end # const_defined?(:Float)