summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2021-09-10 08:54:24 +0900
committergit <svn-admin@ruby-lang.org>2021-09-10 09:06:48 +0900
commite5c40c3dc9d20481700ba8c859b08678b7b21971 (patch)
tree39b67711f4d04d9f50e3b6841d4a0d52705a3498 /test
parent199a681d7141b83842247a689321f9aa6e40b4c2 (diff)
[ruby/reline] Add tests that column of dialog with scrollbar is moved without garbase
https://github.com/ruby/reline/commit/45c70d6222
Diffstat (limited to 'test')
-rwxr-xr-xtest/reline/yamatanooroti/multiline_repl6
-rw-r--r--test/reline/yamatanooroti/test_rendering.rb31
2 files changed, 36 insertions, 1 deletions
diff --git a/test/reline/yamatanooroti/multiline_repl b/test/reline/yamatanooroti/multiline_repl
index 49c7a56074..28630210b6 100755
--- a/test/reline/yamatanooroti/multiline_repl
+++ b/test/reline/yamatanooroti/multiline_repl
@@ -70,7 +70,11 @@ opt.on('--dialog VAL') { |v|
dialog.trap_key = [?j.ord]
height = 4
end
- Reline::DialogRenderInfo.new(pos: cursor_pos, contents: contents, height: height, pointer: context.pointer)
+ scrollbar = false
+ if v.include?('scrollbar')
+ scrollbar = true
+ end
+ Reline::DialogRenderInfo.new(pos: cursor_pos, contents: contents, height: height, pointer: context.pointer, scrollbar: scrollbar)
}, Struct.new(:pointer).new)
}
opt.on('--complete') {
diff --git a/test/reline/yamatanooroti/test_rendering.rb b/test/reline/yamatanooroti/test_rendering.rb
index 5b4cf766f5..8fa436ab22 100644
--- a/test/reline/yamatanooroti/test_rendering.rb
+++ b/test/reline/yamatanooroti/test_rendering.rb
@@ -939,6 +939,37 @@ begin
EOC
end
+ def test_simple_dialog_scrollbar_with_moving_to_right
+ start_terminal(20, 50, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --dialog long,scrollkey,scrollbar}, startup_message: 'Multiline REPL.')
+ 6.times{ write('j') }
+ write('a')
+ close
+ assert_screen(<<~'EOC')
+ Multiline REPL.
+ prompt> a
+ source programming ▄
+ language with a █
+ focus on simplicity
+ and productivity.
+ EOC
+ end
+
+ def test_simple_dialog_scrollbar_with_moving_to_left
+ start_terminal(20, 50, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --dialog long,scrollkey,scrollbar}, startup_message: 'Multiline REPL.')
+ write('a')
+ 6.times{ write('j') }
+ write("\C-h")
+ close
+ assert_screen(<<~'EOC')
+ Multiline REPL.
+ prompt>
+ source programming ▄
+ language with a █
+ focus on simplicity
+ and productivity.
+ EOC
+ end
+
def test_autocomplete_empty
start_terminal(20, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --autocomplete}, startup_message: 'Multiline REPL.')
write('Street')