summaryrefslogtreecommitdiff
path: root/test/reline
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2020-09-11 05:48:59 +0900
committeraycabta <aycabta@gmail.com>2020-09-12 08:35:52 +0900
commitce389ade45f412351d7c91db60eaa5e19fcd8c5f (patch)
treeaaa4abb58aa3099ff0f13d772a7adc8040c981a7 /test/reline
parent9baf1bd0a444d052aff8963630d11176e34271ef (diff)
[ruby/reline] Move cursor to currect vertical pos after rendering a logical line
https://github.com/ruby/reline/commit/9b932df544
Diffstat (limited to 'test/reline')
-rw-r--r--test/reline/yamatanooroti/test_rendering.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/reline/yamatanooroti/test_rendering.rb b/test/reline/yamatanooroti/test_rendering.rb
index d348b877d3..effeb7cff2 100644
--- a/test/reline/yamatanooroti/test_rendering.rb
+++ b/test/reline/yamatanooroti/test_rendering.rb
@@ -64,6 +64,42 @@ begin
EOC
end
+ def test_finish_autowrapped_line
+ start_terminal(10, 40, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl})
+ sleep 0.5
+ write("[{'user'=>{'email'=>'a@a', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}]\n")
+ close
+ assert_screen(<<~EOC)
+ Multiline REPL.
+ prompt> [{'user'=>{'email'=>'a@a', 'id'=
+ >'ABC'}, 'version'=>4, 'status'=>'succee
+ ded'}]
+ => [{"user"=>{"email"=>"a@a", "id"=>"ABC
+ "}, "version"=>4, "status"=>"succeeded"}
+ ]
+ prompt>
+ EOC
+ end
+
+ def test_finish_autowrapped_line_in_the_middle_of_lines
+ start_terminal(20, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl})
+ sleep 0.5
+ write("[{'user'=>{'email'=>'abcdef@abcdef', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}]#{"\C-b"*7}\n")
+ close
+ assert_screen(<<~EOC)
+ Multiline REPL.
+ prompt> [{'user'=>{'email'=>'a
+ bcdef@abcdef', 'id'=>'ABC'}, '
+ version'=>4, 'status'=>'succee
+ ded'}]
+ => [{"user"=>{"email"=>"abcdef
+ @abcdef", "id"=>"ABC"}, "versi
+ on"=>4, "status"=>"succeeded"}
+ ]
+ prompt>
+ EOC
+ end
+
def test_prompt
File.open(@inputrc_file, 'w') do |f|
f.write <<~'LINES'