From fe8475d7df29e5b4775272754ba1989ac9a842a4 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 20 Dec 2018 06:59:27 +0000 Subject: 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 --- test/ruby/test_literal.rb | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'test') diff --git a/test/ruby/test_literal.rb b/test/ruby/test_literal.rb index 37755422a1..2f3016e249 100644 --- a/test/ruby/test_literal.rb +++ b/test/ruby/test_literal.rb @@ -283,20 +283,23 @@ class TestRubyLiteral < Test::Unit::TestCase assert_equal "literal", h["string"] end - def frozen_hash_literal_arg - {0=>1,1=>4,2=>17} - end - def test_hash_literal_frozen - 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 + assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") + begin; + def frozen_hash_literal_arg + {0=>1,1=>4,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 - assert_not_include frozen_hash_literal_arg, 3 + assert_not_include frozen_hash_literal_arg, 3 + end; end def test_big_array_and_hash_literal -- cgit v1.2.3