1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/reline] Test prompt with escape sequence

https://github.com/ruby/reline/commit/c7c1d5f5d1
This commit is contained in:
aycabta 2020-10-09 21:46:22 +09:00
parent 87f51c7e66
commit dd87d639e9

View file

@ -23,6 +23,7 @@ begin
Dir.chdir(@pwd)
FileUtils.rm_rf(@tmpdir)
ENV['INPUTRC'] = @inputrc_backup
ENV.delete('RELINE_TEST_PROMPT') if ENV['RELINE_TEST_PROMPT']
end
def test_history_back
@ -197,6 +198,33 @@ begin
EOC
end
def test_prompt_with_escape_sequence
ENV['RELINE_TEST_PROMPT'] = "\1\e[30m\2prompt> \1\e[m\2"
start_terminal(5, 15, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
write("123\n")
close
assert_screen(<<~EOC)
Multiline REPL.
prompt> 123
=> 123
prompt>
EOC
end
def test_prompt_with_escape_sequence_and_autowrap
ENV['RELINE_TEST_PROMPT'] = "\1\e[30m\2prompt> \1\e[m\2"
start_terminal(5, 15, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
write("12345678\n")
close
assert_screen(<<~EOC)
Multiline REPL.
prompt> 1234567
8
=> 12345678
prompt>
EOC
end
private def write_inputrc(content)
File.open(@inputrc_file, 'w') do |f|
f.write content