diff options
Diffstat (limited to 'test/ruby/test_env.rb')
-rw-r--r-- | test/ruby/test_env.rb | 52 |
1 files changed, 8 insertions, 44 deletions
diff --git a/test/ruby/test_env.rb b/test/ruby/test_env.rb index e9eaf144a1..4b5f18e7bb 100644 --- a/test/ruby/test_env.rb +++ b/test/ruby/test_env.rb @@ -69,25 +69,20 @@ class TestEnv < Test::Unit::TestCase end def test_clone - warning = /ENV\.clone is deprecated; use ENV\.to_h instead/ - clone = assert_deprecated_warning(warning) { + message = /Cannot clone ENV/ + assert_raise_with_message(TypeError, message) { ENV.clone } - assert_same(ENV, clone) - - clone = assert_deprecated_warning(warning) { + assert_raise_with_message(TypeError, message) { ENV.clone(freeze: false) } - assert_same(ENV, clone) - - clone = assert_deprecated_warning(warning) { + assert_raise_with_message(TypeError, message) { ENV.clone(freeze: nil) } - assert_same(ENV, clone) - - assert_raise(TypeError) { + assert_raise_with_message(TypeError, message) { ENV.clone(freeze: true) } + assert_raise(ArgumentError) { ENV.clone(freeze: 1) } @@ -617,8 +612,8 @@ class TestEnv < Test::Unit::TestCase <<-"end;" envvars_to_check = [ "foo\0bar", - "#{'\xa1\xa1'}".force_encoding(Encoding::UTF_16LE), - "foo".force_encoding(Encoding::ISO_2022_JP), + "#{'\xa1\xa1'}".dup.force_encoding(Encoding::UTF_16LE), + "foo".dup.force_encoding(Encoding::ISO_2022_JP), ] envvars_to_check.each do |#{var_name}| #{str_for_yielding_exception_class(code_str)} @@ -688,37 +683,6 @@ class TestEnv < Test::Unit::TestCase end; end - def test_clone_in_ractor - assert_ractor(<<-"end;") - r = Ractor.new do - original_warning_state = Warning[:deprecated] - Warning[:deprecated] = false - - begin - Ractor.yield ENV.clone.object_id - Ractor.yield ENV.clone(freeze: false).object_id - Ractor.yield ENV.clone(freeze: nil).object_id - - #{str_for_yielding_exception_class("ENV.clone(freeze: true)")} - #{str_for_yielding_exception_class("ENV.clone(freeze: 1)")} - #{str_for_yielding_exception_class("ENV.clone(foo: false)")} - #{str_for_yielding_exception_class("ENV.clone(1)")} - #{str_for_yielding_exception_class("ENV.clone(1, foo: false)")} - - ensure - Warning[:deprecated] = original_warning_state - end - end - assert_equal(ENV.object_id, r.take) - assert_equal(ENV.object_id, r.take) - assert_equal(ENV.object_id, r.take) - #{str_for_assert_raise_on_yielded_exception_class(TypeError, "r")} - 4.times do - #{str_for_assert_raise_on_yielded_exception_class(ArgumentError, "r")} - end - end; - end - def test_has_value_in_ractor assert_ractor(<<-"end;") r = Ractor.new do |