[ruby/irb] Improve history test's encoding setting
(https://github.com/ruby/irb/pull/1022) * improve history test's encoding setting * fix missing locale error for ci and refactoring https://github.com/ruby/irb/commit/7f385bc19b
This commit is contained in:
parent
1c653cabfc
commit
fe17697aac
@ -10,17 +10,20 @@ return if RUBY_PLATFORM.match?(/solaris|mswin|mingw/i)
|
||||
module TestIRB
|
||||
class HistoryTest < TestCase
|
||||
def setup
|
||||
@conf_backup = IRB.conf.dup
|
||||
@original_verbose, $VERBOSE = $VERBOSE, nil
|
||||
@tmpdir = Dir.mktmpdir("test_irb_history_")
|
||||
setup_envs(home: @tmpdir)
|
||||
@backup_default_external = Encoding.default_external
|
||||
IRB.conf[:LC_MESSAGES] = IRB::Locale.new
|
||||
save_encodings
|
||||
IRB.instance_variable_set(:@existing_rc_name_generators, nil)
|
||||
end
|
||||
|
||||
def teardown
|
||||
IRB.conf.replace(@conf_backup)
|
||||
IRB.instance_variable_set(:@existing_rc_name_generators, nil)
|
||||
teardown_envs
|
||||
Encoding.default_external = @backup_default_external
|
||||
restore_encodings
|
||||
$VERBOSE = @original_verbose
|
||||
FileUtils.rm_rf(@tmpdir)
|
||||
end
|
||||
@ -146,7 +149,6 @@ module TestIRB
|
||||
end
|
||||
|
||||
def test_history_concurrent_use_not_present
|
||||
IRB.conf[:LC_MESSAGES] = IRB::Locale.new
|
||||
IRB.conf[:SAVE_HISTORY] = 1
|
||||
io = TestInputMethodWithRelineHistory.new
|
||||
io.class::HISTORY.clear
|
||||
@ -163,9 +165,9 @@ module TestIRB
|
||||
|
||||
def test_history_different_encodings
|
||||
IRB.conf[:SAVE_HISTORY] = 2
|
||||
Encoding.default_external = Encoding::US_ASCII
|
||||
locale = IRB::Locale.new("en_US.ASCII")
|
||||
assert_history(<<~EXPECTED_HISTORY.encode(Encoding::US_ASCII), <<~INITIAL_HISTORY.encode(Encoding::UTF_8), <<~INPUT, locale: locale)
|
||||
IRB.conf[:LC_MESSAGES] = IRB::Locale.new("en_US.ASCII")
|
||||
IRB.__send__(:set_encoding, Encoding::US_ASCII.name, override: false)
|
||||
assert_history(<<~EXPECTED_HISTORY.encode(Encoding::US_ASCII), <<~INITIAL_HISTORY.encode(Encoding::UTF_8), <<~INPUT)
|
||||
????
|
||||
exit
|
||||
EXPECTED_HISTORY
|
||||
@ -234,8 +236,7 @@ module TestIRB
|
||||
end
|
||||
end
|
||||
|
||||
def assert_history(expected_history, initial_irb_history, input, input_method = TestInputMethodWithRelineHistory, locale: IRB::Locale.new)
|
||||
IRB.conf[:LC_MESSAGES] = locale
|
||||
def assert_history(expected_history, initial_irb_history, input, input_method = TestInputMethodWithRelineHistory)
|
||||
actual_history = nil
|
||||
history_file = IRB.rc_file("_history")
|
||||
ENV["HOME"] = @tmpdir
|
||||
|
Loading…
x
Reference in New Issue
Block a user