diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-10-28 00:03:20 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-10-28 00:03:20 +0000 |
commit | f3e5f2cd758f5013685d997ffd9efdcceccd449f (patch) | |
tree | 5026ed982a0ff9b57ddc700bc8ac1dbb06e4615d /test | |
parent | 5dc9855a4f6a223b903fb6629aace9a5a49b064b (diff) |
* bignum.c (bignew_1): Bignum instances are frozen.
Feature #3222
* include/ruby/ruby.h: Fixnum instances are also frozen.
* class.c (singleton_class_of): check Bignum before
singleton cheking.
* test/ruby/test_bignum.rb: add a test.
* test/ruby/test_fixnum.rb: ditto.
* test/ruby/marshaltestlib.rb, test/ruby/test_eval.rb,
test/ruby/test_object.rb: catch up above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/marshaltestlib.rb | 16 | ||||
-rw-r--r-- | test/ruby/test_bignum.rb | 4 | ||||
-rw-r--r-- | test/ruby/test_eval.rb | 2 | ||||
-rw-r--r-- | test/ruby/test_fixnum.rb | 4 | ||||
-rw-r--r-- | test/ruby/test_object.rb | 4 |
5 files changed, 11 insertions, 19 deletions
diff --git a/test/ruby/marshaltestlib.rb b/test/ruby/marshaltestlib.rb index d9d06325fe..56ea8892df 100644 --- a/test/ruby/marshaltestlib.rb +++ b/test/ruby/marshaltestlib.rb @@ -178,22 +178,6 @@ module MarshalTestLib marshal_equal(0x3fff_ffff) end - def test_fixnum_ivar - o1 = 1 - o1.instance_eval { @iv = 2 } - marshal_equal(o1) {|o| o.instance_eval { @iv }} - ensure - 1.instance_eval { remove_instance_variable("@iv") } - end - - def test_fixnum_ivar_self - o1 = 1 - o1.instance_eval { @iv = 1 } - marshal_equal(o1) {|o| o.instance_eval { @iv }} - ensure - 1.instance_eval { remove_instance_variable("@iv") } - end - def test_float marshal_equal(-1.0) marshal_equal(0.0) diff --git a/test/ruby/test_bignum.rb b/test/ruby/test_bignum.rb index a9193b9452..0b34acb7b8 100644 --- a/test/ruby/test_bignum.rb +++ b/test/ruby/test_bignum.rb @@ -510,4 +510,8 @@ class TestBignum < Test::Unit::TestCase # this test assumes 32bit/64bit platform assert_raise(TypeError) { a = 1 << 64; def a.foo; end } end + + def test_frozen + assert_equal(true, (2**100).frozen?) + end end diff --git a/test/ruby/test_eval.rb b/test/ruby/test_eval.rb index e1de99c847..e7da66e149 100644 --- a/test/ruby/test_eval.rb +++ b/test/ruby/test_eval.rb @@ -128,7 +128,7 @@ class TestEval < Test::Unit::TestCase end def forall_TYPE - objects = [Object.new, [], nil, true, false, 77, :sym] # TODO: check + objects = [Object.new, [], nil, true, false, :sym] # TODO: check objects.each do |obj| obj.instance_variable_set :@ivar, 12 yield obj diff --git a/test/ruby/test_fixnum.rb b/test/ruby/test_fixnum.rb index a031923b02..4567da0a60 100644 --- a/test/ruby/test_fixnum.rb +++ b/test/ruby/test_fixnum.rb @@ -275,4 +275,8 @@ class TestFixnum < Test::Unit::TestCase def test_singleton_method assert_raise(TypeError) { a = 1; def a.foo; end } end + + def test_frozen + assert_equal(true, 1.frozen?) + end end diff --git a/test/ruby/test_object.rb b/test/ruby/test_object.rb index 151825e5e4..4e958a7f7b 100644 --- a/test/ruby/test_object.rb +++ b/test/ruby/test_object.rb @@ -62,10 +62,10 @@ class TestObject < Test::Unit::TestCase end def test_freeze_immediate - assert_equal(false, 1.frozen?) + assert_equal(true, 1.frozen?) 1.freeze assert_equal(true, 1.frozen?) - assert_equal(false, 2.frozen?) + assert_equal(true, 2.frozen?) end def test_nil_to_f |