summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2015-09-02 22:29:01 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-09-02 22:29:01 +0900
commit74696ffd9625e4dca43aa010d71020f10030de24 (patch)
treeeaea8d69d1645eef12b040b8532b504b6ba9d5c6 /test
parent6ddd79fd0ebfd88a9b36be08d509e665a9322567 (diff)
downloadmruby-74696ffd9625e4dca43aa010d71020f10030de24.tar.gz
mruby-74696ffd9625e4dca43aa010d71020f10030de24.zip
Float << and >> should be more compatible to Fixnum
Diffstat (limited to 'test')
-rw-r--r--test/t/float.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/t/float.rb b/test/t/float.rb
index d45709173..0aab0b1f2 100644
--- a/test/t/float.rb
+++ b/test/t/float.rb
@@ -178,3 +178,25 @@ assert('Float#nan?') do
assert_false (1.0/0.0).nan?
assert_false (-1.0/0.0).nan?
end
+
+assert('Float#<<') do
+ # Left Shift by one
+ assert_equal 46, 23.0 << 1
+
+ # Left Shift by a negative is Right Shift
+ assert_equal 23, 46.0 << -1
+end
+
+assert('Float#>>') do
+ # Right Shift by one
+ assert_equal 23, 46.0 >> 1
+
+ # Right Shift by a negative is Left Shift
+ assert_equal 46, 23.0 >> -1
+
+ # Don't raise on large Right Shift
+ assert_equal 0, 23.0 >> 128
+
+ # Don't raise on large Right Shift
+ assert_equal -1, -23.0 >> 128
+end