summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/deps/mruby/test/t/numeric.rb
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/server/h2o/libh2o/deps/mruby/test/t/numeric.rb43
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 00000000..120cc960
--- /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