mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/reline] Call #start_terminal after generating temporary inputrc
because inputrc will be read when starting up https://github.com/ruby/reline/commit/0a30464385
This commit is contained in:
parent
568615d395
commit
0bc748db36
1 changed files with 28 additions and 6 deletions
|
@ -6,7 +6,7 @@ begin
|
|||
class Reline::TestRendering < Yamatanooroti::TestCase
|
||||
def setup
|
||||
@pwd = Dir.pwd
|
||||
@tmpdir = File.join(Dir.tmpdir, "test_reline_config_#{$$}")
|
||||
@tmpdir = File.join(File.expand_path(Dir.tmpdir), "test_reline_config_#{$$}")
|
||||
begin
|
||||
Dir.mkdir(@tmpdir)
|
||||
rescue Errno::EEXIST
|
||||
|
@ -14,20 +14,20 @@ begin
|
|||
Dir.mkdir(@tmpdir)
|
||||
end
|
||||
Dir.chdir(@tmpdir)
|
||||
inputrc_backup = ENV['INPUTRC']
|
||||
@inputrc_file = ENV['INPUTRC'] = File.expand_path('temporaty_inputrc')
|
||||
@inputrc_backup = ENV['INPUTRC']
|
||||
@inputrc_file = ENV['INPUTRC'] = File.join(@tmpdir, 'temporaty_inputrc')
|
||||
File.unlink(@inputrc_file) if File.exist?(@inputrc_file)
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl})
|
||||
sleep 0.5
|
||||
ENV['INPUTRC'] = inputrc_backup
|
||||
end
|
||||
|
||||
def teardown
|
||||
Dir.chdir(@pwd)
|
||||
FileUtils.rm_rf(@tmpdir)
|
||||
ENV['INPUTRC'] = @inputrc_backup
|
||||
end
|
||||
|
||||
def test_history_back
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl})
|
||||
sleep 0.5
|
||||
write(":a\n")
|
||||
write("\C-p")
|
||||
close
|
||||
|
@ -40,6 +40,8 @@ begin
|
|||
end
|
||||
|
||||
def test_backspace
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl})
|
||||
sleep 0.5
|
||||
write(":abc\C-h\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
|
@ -51,6 +53,8 @@ begin
|
|||
end
|
||||
|
||||
def test_autowrap
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl})
|
||||
sleep 0.5
|
||||
write('01234567890123456789012')
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
|
@ -59,6 +63,24 @@ begin
|
|||
2
|
||||
EOC
|
||||
end
|
||||
|
||||
def test_prompt
|
||||
File.open(@inputrc_file, 'w') do |f|
|
||||
f.write <<~'LINES'
|
||||
"abc": "123"
|
||||
LINES
|
||||
end
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl})
|
||||
sleep 0.5
|
||||
write("abc\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
Multiline REPL.
|
||||
prompt> 123
|
||||
=> 123
|
||||
prompt>
|
||||
EOC
|
||||
end
|
||||
end
|
||||
rescue LoadError, NameError
|
||||
# On Ruby repository, this test suit doesn't run because Ruby repo doesn't
|
||||
|
|
Loading…
Reference in a new issue