diff options
Diffstat (limited to 'spec/ruby/optional/capi/numeric_spec.rb')
-rw-r--r-- | spec/ruby/optional/capi/numeric_spec.rb | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/spec/ruby/optional/capi/numeric_spec.rb b/spec/ruby/optional/capi/numeric_spec.rb index ff7880a986..b2f629c1ab 100644 --- a/spec/ruby/optional/capi/numeric_spec.rb +++ b/spec/ruby/optional/capi/numeric_spec.rb @@ -238,7 +238,7 @@ describe "CApiNumericSpecs" do end describe "rb_Integer" do - it "creates a new Integer from a String" do + it "creates an Integer from a String" do i = @s.rb_Integer("8675309") i.should be_kind_of(Integer) i.should eql(8675309) @@ -246,15 +246,29 @@ describe "CApiNumericSpecs" do end describe "rb_ll2inum" do - it "creates a new Fixnum from a small signed long long" do + it "creates a Fixnum from a small signed long long" do i = @s.rb_ll2inum_14() i.should be_kind_of(Fixnum) i.should eql(14) end end + describe "rb_ull2inum" do + it "creates a Fixnum from a small unsigned long long" do + i = @s.rb_ull2inum_14() + i.should be_kind_of(Fixnum) + i.should eql(14) + end + + it "creates a positive Bignum from a negative long long" do + i = @s.rb_ull2inum_n14() + i.should be_kind_of(Bignum) + i.should eql(2 ** (@s.size_of_long_long * 8) - 14) + end + end + describe "rb_int2inum" do - it "creates a new Fixnum from a long" do + it "creates a Fixnum from a long" do i = @s.rb_int2inum_14() i.should be_kind_of(Fixnum) i.should eql(14) @@ -262,13 +276,13 @@ describe "CApiNumericSpecs" do end describe "rb_uint2inum" do - it "creates a new Fixnum from a long" do + it "creates a Fixnum from a long" do i = @s.rb_uint2inum_14() i.should be_kind_of(Fixnum) i.should eql(14) end - it "creates a new Bignum from a negative long" do + it "creates a positive Bignum from a negative long" do i = @s.rb_uint2inum_n14() i.should be_kind_of(Bignum) i.should eql(2 ** (@s.size_of_VALUE * 8) - 14) |