1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* include/ruby/ruby.h: freeze nil/true/false.

* gc.c (should_be_finalizable): check frozen after checkin FL_ABLE.
* object.c (rb_obj_taint): check
  OBJ_TAINTABLE(obj).
* object.c (rb_obj_freeze): remove immediate_frozen_tbl
   because all of immediate values are frozen. YAY!
* object.c (rb_obj_frozen_p): ditto.
* test/ruby/test_eval.rb: skip instance_variable_set for
  frozen objects.
* test/ruby/test_weakmap.rb: check ArgumentError instead of
  RuntimeError.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2014-09-11 05:37:32 +00:00
parent d2d4017d80
commit cc3088ea51
6 changed files with 34 additions and 24 deletions

View file

@ -19,13 +19,13 @@ class TestWeakMap < Test::Unit::TestCase
assert_raise(ArgumentError) {@wm[true] = x}
assert_raise(ArgumentError) {@wm[false] = x}
assert_raise(ArgumentError) {@wm[nil] = x}
assert_raise(RuntimeError) {@wm[42] = x}
assert_raise(RuntimeError) {@wm[:foo] = x}
assert_raise(ArgumentError) {@wm[42] = x}
assert_raise(ArgumentError) {@wm[:foo] = x}
assert_raise(ArgumentError) {@wm[x] = true}
assert_raise(ArgumentError) {@wm[x] = false}
assert_raise(ArgumentError) {@wm[x] = nil}
assert_raise(RuntimeError) {@wm[x] = 42}
assert_raise(RuntimeError) {@wm[x] = :foo}
assert_raise(ArgumentError) {@wm[x] = 42}
assert_raise(ArgumentError) {@wm[x] = :foo}
end
def test_include?