summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-28 00:03:20 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-28 00:03:20 +0000
commitf3e5f2cd758f5013685d997ffd9efdcceccd449f (patch)
tree5026ed982a0ff9b57ddc700bc8ac1dbb06e4615d /test/ruby
parent5dc9855a4f6a223b903fb6629aace9a5a49b064b (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/ruby')
-rw-r--r--test/ruby/marshaltestlib.rb16
-rw-r--r--test/ruby/test_bignum.rb4
-rw-r--r--test/ruby/test_eval.rb2
-rw-r--r--test/ruby/test_fixnum.rb4
-rw-r--r--test/ruby/test_object.rb4
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