[ruby/reline] Move script files for yamatanooroti tests
https://github.com/ruby/reline/commit/03031b885d
This commit is contained in:
parent
ac9e3b514b
commit
a3055a35dd
71
test/reline/yamatanooroti/multiline_repl
Executable file
71
test/reline/yamatanooroti/multiline_repl
Executable file
@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
require 'reline'
|
||||
require 'optparse'
|
||||
require_relative 'termination_checker'
|
||||
|
||||
opt = OptionParser.new
|
||||
opt.on('--prompt-list-cache-timeout VAL') { |v|
|
||||
Reline::LineEditor.__send__(:remove_const, :PROMPT_LIST_CACHE_TIMEOUT)
|
||||
Reline::LineEditor::PROMPT_LIST_CACHE_TIMEOUT = v.to_f
|
||||
}
|
||||
opt.on('--dynamic-prompt') {
|
||||
Reline.prompt_proc = proc { |lines|
|
||||
lines.each_with_index.map { |l, i|
|
||||
'[%04d]> ' % i
|
||||
}
|
||||
}
|
||||
}
|
||||
opt.on('--broken-dynamic-prompt') {
|
||||
Reline.prompt_proc = proc { |lines|
|
||||
range = lines.size > 1 ? (0..(lines.size - 2)) : (0..0)
|
||||
lines[range].each_with_index.map { |l, i|
|
||||
'[%04d]> ' % i
|
||||
}
|
||||
}
|
||||
}
|
||||
opt.on('--auto-indent') {
|
||||
AutoIndent.new
|
||||
}
|
||||
opt.parse!(ARGV)
|
||||
|
||||
begin
|
||||
stty_save = `stty -g`.chomp
|
||||
rescue
|
||||
end
|
||||
|
||||
begin
|
||||
prompt = ENV['RELINE_TEST_PROMPT'] || 'prompt> '
|
||||
puts 'Multiline REPL.'
|
||||
checker = TerminationChecker.new
|
||||
while code = Reline.readmultiline(prompt, true) { |code| checker.terminated?(code) }
|
||||
case code.chomp
|
||||
when 'exit', 'quit', 'q'
|
||||
exit 0
|
||||
when ''
|
||||
# NOOP
|
||||
else
|
||||
begin
|
||||
result = eval(code)
|
||||
puts "=> #{result.inspect}"
|
||||
rescue ScriptError, StandardError => e
|
||||
puts "Traceback (most recent call last):"
|
||||
e.backtrace.reverse_each do |f|
|
||||
puts " #{f}"
|
||||
end
|
||||
puts e.message
|
||||
end
|
||||
end
|
||||
end
|
||||
rescue Interrupt
|
||||
puts '^C'
|
||||
`stty #{stty_save}` if stty_save
|
||||
exit 0
|
||||
ensure
|
||||
`stty #{stty_save}` if stty_save
|
||||
end
|
||||
begin
|
||||
puts
|
||||
rescue Errno::EIO
|
||||
# Maybe the I/O has been closed.
|
||||
end
|
30
test/reline/yamatanooroti/termination_checker.rb
Normal file
30
test/reline/yamatanooroti/termination_checker.rb
Normal file
@ -0,0 +1,30 @@
|
||||
require 'ripper'
|
||||
require 'irb/ruby-lex'
|
||||
|
||||
class TerminationChecker < RubyLex
|
||||
def terminated?(code)
|
||||
code.gsub!(/\n*$/, '').concat("\n")
|
||||
@tokens = Ripper.lex(code)
|
||||
continue = process_continue
|
||||
code_block_open = check_code_block(code)
|
||||
indent = process_nesting_level
|
||||
ltype = process_literal_type
|
||||
if code_block_open or ltype or continue or indent > 0
|
||||
false
|
||||
else
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class AutoIndent < RubyLex
|
||||
def initialize
|
||||
set_input(self)
|
||||
context = Struct.new(:auto_indent_mode).new(true)
|
||||
set_auto_indent(context)
|
||||
end
|
||||
|
||||
def auto_indent(&block)
|
||||
Reline.auto_indent_proc = block
|
||||
end
|
||||
end
|
@ -26,7 +26,7 @@ begin
|
||||
end
|
||||
|
||||
def test_history_back
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(":a\n")
|
||||
write("\C-p")
|
||||
close
|
||||
@ -39,7 +39,7 @@ begin
|
||||
end
|
||||
|
||||
def test_backspace
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(":abc\C-h\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -51,7 +51,7 @@ begin
|
||||
end
|
||||
|
||||
def test_autowrap
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write('01234567890123456789012')
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -62,7 +62,7 @@ begin
|
||||
end
|
||||
|
||||
def test_fullwidth
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(":あ\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -74,7 +74,7 @@ begin
|
||||
end
|
||||
|
||||
def test_two_fullwidth
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(":あい\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -86,7 +86,7 @@ begin
|
||||
end
|
||||
|
||||
def test_finish_autowrapped_line
|
||||
start_terminal(10, 40, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(10, 40, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("[{'user'=>{'email'=>'a@a', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}]\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -102,7 +102,7 @@ begin
|
||||
end
|
||||
|
||||
def test_finish_autowrapped_line_in_the_middle_of_lines
|
||||
start_terminal(20, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(20, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("[{'user'=>{'email'=>'abcdef@abcdef', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}]#{"\C-b"*7}")
|
||||
write("\n")
|
||||
close
|
||||
@ -121,7 +121,7 @@ begin
|
||||
end
|
||||
|
||||
def test_finish_autowrapped_line_in_the_middle_of_multilines
|
||||
start_terminal(30, 16, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(30, 16, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("<<~EOM\n ABCDEFG\nEOM\n")
|
||||
close
|
||||
assert_screen(<<~'EOC')
|
||||
@ -139,7 +139,7 @@ begin
|
||||
write_inputrc <<~'LINES'
|
||||
"abc": "123"
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("abc\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -154,7 +154,7 @@ begin
|
||||
write_inputrc <<~LINES
|
||||
set show-mode-in-prompt on
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
Multiline REPL.
|
||||
@ -167,7 +167,7 @@ begin
|
||||
set editing-mode vi
|
||||
set show-mode-in-prompt on
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(":a\n\C-[k")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -183,7 +183,7 @@ begin
|
||||
set show-mode-in-prompt on
|
||||
set emacs-mode-string [emacs]
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
Multiline REPL.
|
||||
@ -196,7 +196,7 @@ begin
|
||||
set show-mode-in-prompt on
|
||||
set emacs-mode-string "[emacs]"
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
Multiline REPL.
|
||||
@ -211,7 +211,7 @@ begin
|
||||
set vi-ins-mode-string "{InS}"
|
||||
set vi-cmd-mode-string "{CmD}"
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(":a\n\C-[k")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -227,7 +227,7 @@ begin
|
||||
set editing-mode vi
|
||||
set show-mode-in-prompt on
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(":a\C-[ab\C-[ac\C-h\C-h\C-h\C-h:a")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -238,7 +238,7 @@ begin
|
||||
|
||||
def test_prompt_with_escape_sequence
|
||||
ENV['RELINE_TEST_PROMPT'] = "\1\e[30m\2prompt> \1\e[m\2"
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("123\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -251,7 +251,7 @@ begin
|
||||
|
||||
def test_prompt_with_escape_sequence_and_autowrap
|
||||
ENV['RELINE_TEST_PROMPT'] = "\1\e[30m\2prompt> \1\e[m\2"
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("1234567890123\n")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -264,7 +264,7 @@ begin
|
||||
end
|
||||
|
||||
def test_multiline_and_autowrap
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def aaaaaaaaaa\n 33333333\n end\C-a\C-pputs\C-e\e\C-m888888888888888")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -281,7 +281,7 @@ begin
|
||||
end
|
||||
|
||||
def test_clear
|
||||
start_terminal(10, 15, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(10, 15, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("3\C-l")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -291,7 +291,7 @@ begin
|
||||
|
||||
def test_clear_multiline_and_autowrap
|
||||
omit # FIXME clear logic is buggy
|
||||
start_terminal(10, 15, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(10, 15, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def aaaaaa\n 3\n\C-lend")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -303,7 +303,7 @@ begin
|
||||
end
|
||||
|
||||
def test_nearest_cursor
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def ああ\n :いい\nend\C-pbb\C-pcc")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -315,7 +315,7 @@ begin
|
||||
end
|
||||
|
||||
def test_delete_line
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def a\n\nend\C-p\C-h")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -326,7 +326,7 @@ begin
|
||||
end
|
||||
|
||||
def test_last_line_of_screen
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("\n\n\n\n\ndef a\nend")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -340,7 +340,7 @@ begin
|
||||
|
||||
# c17a09b7454352e2aff5a7d8722e80afb73e454b
|
||||
def test_autowrap_at_last_line_of_screen
|
||||
start_terminal(5, 15, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 15, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def a\nend\n\C-p")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -354,7 +354,7 @@ begin
|
||||
|
||||
# f002483b27cdb325c5edf9e0fe4fa4e1c71c4b0e
|
||||
def test_insert_line_in_the_middle_of_line
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("333\C-b\C-b\e\C-m8")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -366,7 +366,7 @@ begin
|
||||
|
||||
# 9d8978961c5de5064f949d56d7e0286df9e18f43
|
||||
def test_insert_line_in_the_middle_of_line_at_last_line_of_screen
|
||||
start_terminal(3, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(3, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("333333333333333\C-a\C-f\e\C-m")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -377,7 +377,7 @@ begin
|
||||
end
|
||||
|
||||
def test_insert_after_clear
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def a\n 01234\nend\C-l\C-p5678")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -388,7 +388,7 @@ begin
|
||||
end
|
||||
|
||||
def test_foced_newline_insertion
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(10, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
#write("def a\nend\C-p\C-e\e\C-m 3")
|
||||
write("def a\nend\C-p\C-e\e\x0D")
|
||||
close
|
||||
@ -401,7 +401,7 @@ begin
|
||||
end
|
||||
|
||||
def test_multiline_incremental_search
|
||||
start_terminal(6, 25, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(6, 25, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def a\n 8\nend\ndef b\n 3\nend\C-s8")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -412,7 +412,7 @@ begin
|
||||
end
|
||||
|
||||
def test_multiline_incremental_search_finish
|
||||
start_terminal(6, 25, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(6, 25, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def a\n 8\nend\ndef b\n 3\nend\C-r8\C-j")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -427,7 +427,7 @@ begin
|
||||
set editing-mode vi
|
||||
"\\C-j": vi-movement-mode
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(":1234\C-jhhhi0")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -437,7 +437,7 @@ begin
|
||||
end
|
||||
|
||||
def test_prompt_list_caching
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl --prompt-list-cache-timeout 10 --dynamic-prompt}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --prompt-list-cache-timeout 10 --dynamic-prompt}, startup_message: 'Multiline REPL.')
|
||||
write("def hoge\n 3\nend")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -449,7 +449,7 @@ begin
|
||||
end
|
||||
|
||||
def test_broken_prompt_list
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl --broken-dynamic-prompt}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --broken-dynamic-prompt}, startup_message: 'Multiline REPL.')
|
||||
write("def hoge\n 3\nend")
|
||||
close
|
||||
assert_screen(<<~EOC)
|
||||
@ -465,7 +465,7 @@ begin
|
||||
write_inputrc <<~LINES
|
||||
set enable-bracketed-paste on
|
||||
LINES
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("\e[200~,")
|
||||
write("def hoge\n 3\nend")
|
||||
write("\e[200~.")
|
||||
@ -479,7 +479,7 @@ begin
|
||||
end
|
||||
|
||||
def test_backspace_until_returns_to_initial
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("ABC")
|
||||
write("\C-h\C-h\C-h")
|
||||
close
|
||||
@ -490,7 +490,7 @@ begin
|
||||
end
|
||||
|
||||
def test_longer_than_screen_height
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(<<~EOC.chomp)
|
||||
def each_top_level_statement
|
||||
initialize_input
|
||||
@ -537,7 +537,7 @@ begin
|
||||
end
|
||||
|
||||
def test_longer_than_screen_height_with_scroll_back
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(<<~EOC.chomp)
|
||||
def each_top_level_statement
|
||||
initialize_input
|
||||
@ -585,7 +585,7 @@ begin
|
||||
end
|
||||
|
||||
def test_longer_than_screen_height_with_complex_scroll_back
|
||||
start_terminal(4, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(4, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write(<<~EOC.chomp)
|
||||
def each_top_level_statement
|
||||
initialize_input
|
||||
@ -633,7 +633,7 @@ begin
|
||||
end
|
||||
|
||||
def test_update_cursor_correctly_when_just_cursor_moving
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def hoge\n 01234678")
|
||||
write("\C-p")
|
||||
write("\C-b")
|
||||
@ -650,7 +650,7 @@ begin
|
||||
end
|
||||
|
||||
def test_suppress_auto_indent_just_after_pasted
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl --auto-indent}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --auto-indent}, startup_message: 'Multiline REPL.')
|
||||
write("def hoge\n [[\n 3]]\ned")
|
||||
write("\C-bn")
|
||||
close
|
||||
@ -664,7 +664,7 @@ begin
|
||||
end
|
||||
|
||||
def test_suppress_auto_indent_for_adding_newlines_in_pasting
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl --auto-indent}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --auto-indent}, startup_message: 'Multiline REPL.')
|
||||
write("<<~Q\n")
|
||||
write("{\n #\n}")
|
||||
write("#")
|
||||
@ -679,7 +679,7 @@ begin
|
||||
end
|
||||
|
||||
def test_autowrap_in_the_middle_of_a_line
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def abcdefg; end\C-b\C-b\C-b\C-b\C-b")
|
||||
%w{h i}.each do |c|
|
||||
write(c)
|
||||
@ -693,7 +693,7 @@ begin
|
||||
end
|
||||
|
||||
def test_terminate_in_the_middle_of_lines
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
start_terminal(5, 20, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
|
||||
write("def hoge\n 1\n 2\n 3\n 4\nend\n")
|
||||
write("\C-p\C-p\C-p\C-e\n")
|
||||
close
|
||||
|
Loading…
x
Reference in New Issue
Block a user