diff options
Diffstat (limited to '')
-rw-r--r-- | web/server/h2o/libh2o/deps/mruby/test/t/numeric.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby/test/t/numeric.rb b/web/server/h2o/libh2o/deps/mruby/test/t/numeric.rb new file mode 100644 index 000000000..120cc960d --- /dev/null +++ b/web/server/h2o/libh2o/deps/mruby/test/t/numeric.rb @@ -0,0 +1,43 @@ +## +# Numeric ISO Test + +assert('Numeric', '15.2.7') do + assert_equal Class, Numeric.class +end + +assert('Numeric#+@', '15.2.7.4.1') do + assert_equal(+1, +1) +end + +assert('Numeric#-@', '15.2.7.4.2') do + assert_equal(-1, -1) +end + +assert('Numeric#abs', '15.2.7.4.3') do + assert_equal(1, 1.abs) + assert_equal(1.0, -1.abs) +end + +assert('Numeric#pow') do + assert_equal(8, 2 ** 3) + assert_equal(-8, -2 ** 3) + assert_equal(1, 2 ** 0) + assert_equal(1, 2.2 ** 0) + assert_equal(0.5, 2 ** -1) +end + +assert('Numeric#/', '15.2.8.3.4') do + n = Class.new(Numeric){ def /(x); 15.1;end }.new + + assert_equal(2, 10/5) + assert_equal(0.0625, 1/16) + assert_equal(15.1, n/10) + assert_raise(TypeError){ 1/n } + assert_raise(TypeError){ 1/nil } +end + +# Not ISO specified + +assert('Numeric#**') do + assert_equal 8.0, 2.0**3 +end |