summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorStan Lo <stan.lo@shopify.com>2022-10-25 21:45:16 +0100
committergit <svn-admin@ruby-lang.org>2022-10-25 20:50:07 +0000
commit48339d5c5b6f8b34aad0fe2b44d0e2eb479b069f (patch)
tree213b5393a375cd0b49596a3865a5d70fa967d912 /test
parent217fdbf9aa6dd850eace9f10c9a74bcec8b510e2 (diff)
[ruby/irb] Make sure Encoding's defaults are restored
Diffstat (limited to 'test')
-rw-r--r--test/irb/test_input_method.rb7
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