[macruby-changes] [1449] MacRuby/branches/experimental/spec/frozen/core/fixnum/multiply_spec. rb

source_changes at macosforge.org source_changes at macosforge.org
Wed Apr 22 15:09:06 PDT 2009


Revision: 1449
          http://trac.macosforge.org/projects/ruby/changeset/1449
Author:   eloy.de.enige at gmail.com
Date:     2009-04-22 15:09:05 -0700 (Wed, 22 Apr 2009)
Log Message:
-----------
Add a spec for Fixnum#* overflowing to bignum.

Modified Paths:
--------------
    MacRuby/branches/experimental/spec/frozen/core/fixnum/multiply_spec.rb

Modified: MacRuby/branches/experimental/spec/frozen/core/fixnum/multiply_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fixnum/multiply_spec.rb	2009-04-22 22:08:52 UTC (rev 1448)
+++ MacRuby/branches/experimental/spec/frozen/core/fixnum/multiply_spec.rb	2009-04-22 22:09:05 UTC (rev 1449)
@@ -18,4 +18,18 @@
     lambda { 13 * "10"    }.should raise_error(TypeError)
     lambda { 13 * :symbol }.should raise_error(TypeError)
   end
+
+  it "overflows to Bignum when the result does not fit in Fixnum" do
+    # 32-bit fixnums
+    y = 0x4000
+    result = y * y * y
+    result.should == 0x40000000000
+    result.class.should == Bignum
+
+    # 64-bit fixnums
+    y = 0x40000000
+    result = y * y * y
+    result.should == 0x40000000000000000000000
+    result.class.should == Bignum
+  end
 end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090422/81c05fd8/attachment.html>


More information about the macruby-changes mailing list