diff options
-rw-r--r-- | test/irb/test_input_method.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/test/irb/test_input_method.rb b/test/irb/test_input_method.rb index b9832d39ed..05580256fa 100644 --- a/test/irb/test_input_method.rb +++ b/test/irb/test_input_method.rb @@ -11,19 +11,22 @@ module TestIRB # RelineInputMethod#initialize calls IRB.set_encoding, which mutates standard input/output's encoding # so we need to make sure we set them back - @original_encodings = { + @original_io_encodings = { STDIN => [STDIN.external_encoding, STDIN.internal_encoding], STDOUT => [STDOUT.external_encoding, STDOUT.internal_encoding], STDERR => [STDERR.external_encoding, STDERR.internal_encoding], } + @original_default_encodings = [Encoding.default_external, Encoding.default_internal] end def teardown IRB.conf.replace(@conf_backup) - @original_encodings.each do |io, (external_encoding, internal_encoding)| + @original_io_encodings.each do |io, (external_encoding, internal_encoding)| io.set_encoding(external_encoding, internal_encoding) end + + EnvUtil.suppress_warning { Encoding.default_external, Encoding.default_internal = @original_default_encodings } end def test_initialization |