mirror of
https://github.com/ruby/ruby.git
synced 2025-09-23 04:24:04 +02:00
parent
4785d6087a
commit
774cc32b4d
2 changed files with 36 additions and 4 deletions
|
@ -21,5 +21,30 @@ IRB
|
|||
raise StandardError, "A\\xf3B"
|
||||
IRB
|
||||
end
|
||||
|
||||
def test_raise_exception_with_different_encoding_containing_invalid_byte_sequence
|
||||
skip if RUBY_ENGINE == 'truffleruby'
|
||||
backup_home = ENV["HOME"]
|
||||
Dir.mktmpdir("test_irb_raise_no_backtrace_exception_#{$$}") do |tmpdir|
|
||||
ENV["HOME"] = tmpdir
|
||||
|
||||
bundle_exec = ENV.key?('BUNDLE_GEMFILE') ? ['-rbundler/setup'] : []
|
||||
File.open('euc.rb', 'w') do |f|
|
||||
f.write(<<~EOF)
|
||||
# encoding: euc-jp
|
||||
|
||||
def raise_euc_with_invalid_byte_sequence
|
||||
raise "\xA4\xA2\\xFF"
|
||||
end
|
||||
EOF
|
||||
end
|
||||
assert_in_out_err(bundle_exec + %w[-rirb -W0 -e ENV[%(LC_ALL)]=%(ja_JP.UTF-8) -e ENV[%(LANG)]=%(ja_JP.UTF-8) -e IRB.start(__FILE__) -- -f --], <<~IRB, /`raise_euc_with_invalid_byte_sequence': あ\\xFF \(RuntimeError\)/, [])
|
||||
require_relative 'euc'
|
||||
raise_euc_with_invalid_byte_sequence
|
||||
IRB
|
||||
end
|
||||
ensure
|
||||
ENV["HOME"] = backup_home
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue