Test separately to get rid of risk to modify unrelated hash
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ec7b1e475b
commit
fe8475d7df
@ -283,20 +283,23 @@ class TestRubyLiteral < Test::Unit::TestCase
|
|||||||
assert_equal "literal", h["string"]
|
assert_equal "literal", h["string"]
|
||||||
end
|
end
|
||||||
|
|
||||||
def frozen_hash_literal_arg
|
|
||||||
{0=>1,1=>4,2=>17}
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_hash_literal_frozen
|
def test_hash_literal_frozen
|
||||||
assert_not_include frozen_hash_literal_arg, 3
|
assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||||
assert_raise(FrozenError) do
|
begin;
|
||||||
ObjectSpace.each_object(Hash) do |a|
|
def frozen_hash_literal_arg
|
||||||
if a.class == Hash and !a.default_proc and a.size == 3
|
{0=>1,1=>4,2=>17}
|
||||||
a[3] = 8 if a[0] == 1 and a[1] == 4 and a[2] == 17
|
end
|
||||||
|
|
||||||
|
assert_not_include frozen_hash_literal_arg, 3
|
||||||
|
assert_raise(FrozenError) do
|
||||||
|
ObjectSpace.each_object(Hash) do |a|
|
||||||
|
if a.class == Hash and !a.default_proc and a.size == 3
|
||||||
|
a[3] = 8 if a[0] == 1 and a[1] == 4 and a[2] == 17
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
assert_not_include frozen_hash_literal_arg, 3
|
||||||
assert_not_include frozen_hash_literal_arg, 3
|
end;
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_big_array_and_hash_literal
|
def test_big_array_and_hash_literal
|
||||||
|
Loading…
x
Reference in New Issue
Block a user