diff options
author | aycabta <aycabta@gmail.com> | 2021-09-10 04:36:55 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2021-09-10 09:04:36 +0900 |
commit | 364e646317fb9bf0f284532ad8a1c1e707bcbb21 (patch) | |
tree | a2e7c4833bf1069ab68c39650a7ff0af1e4b44e5 /test | |
parent | 44759533786562d0ff5c49147d050ea685e97ea5 (diff) |
[ruby/reline] Add a test for simple dialog
https://github.com/ruby/reline/commit/d70f507e2c
Diffstat (limited to 'test')
-rwxr-xr-x | test/reline/yamatanooroti/multiline_repl | 13 | ||||
-rw-r--r-- | test/reline/yamatanooroti/test_rendering.rb | 19 |
2 files changed, 32 insertions, 0 deletions
diff --git a/test/reline/yamatanooroti/multiline_repl b/test/reline/yamatanooroti/multiline_repl index b21ad4bd8c..4de3f81c47 100755 --- a/test/reline/yamatanooroti/multiline_repl +++ b/test/reline/yamatanooroti/multiline_repl @@ -30,6 +30,19 @@ opt.on('--dynamic-prompt-returns-empty') { opt.on('--auto-indent') { AutoIndent.new } +opt.on('--simple-dialog') { + Reline.add_dialog_proc(:simple_dialog, lambda { + contents = <<~RUBY.split("\n") + Ruby is... + A dynamic, open source programming + language with a focus on simplicity + and productivity. It has an elegant + syntax that is natural to read and + easy to write. + RUBY + Reline::DialogRenderInfo.new(pos: cursor_pos, contents: contents) + }) +} opt.on('--complete') { Reline.completion_proc = lambda { |target, preposing = nil, postposing = nil| %w{String ScriptError SyntaxError Signal} diff --git a/test/reline/yamatanooroti/test_rendering.rb b/test/reline/yamatanooroti/test_rendering.rb index 55b122e0d8..2ae0b81e2d 100644 --- a/test/reline/yamatanooroti/test_rendering.rb +++ b/test/reline/yamatanooroti/test_rendering.rb @@ -835,6 +835,25 @@ begin EOC end + def test_simple_dialog + start_terminal(20, 50, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --simple-dialog}, startup_message: 'Multiline REPL.') + write('a') + write('b') + write('c') + write("\C-h") + close + assert_screen(<<~'EOC') + Multiline REPL. + prompt> ab + Ruby is... + A dynamic, open source programming + language with a focus on simplicity + and productivity. It has an elegant + syntax that is natural to read and + easy to write. + EOC + end + def test_autocomplete start_terminal(20, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --autocomplete}, startup_message: 'Multiline REPL.') write("Stri") |