1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/reline] Add tests for dialog with fullwidth chars and corner cases

https://github.com/ruby/reline/commit/35ab5d47a8
This commit is contained in:
aycabta 2021-10-10 18:58:46 +09:00 committed by git
parent 391d6ab4f7
commit 3112e876a1
2 changed files with 43 additions and 0 deletions

View file

@ -55,6 +55,15 @@ opt.on('--dialog VAL') { |v|
natural to read
and easy to write.
RUBY
elsif v.include?('fullwidth')
contents = <<~RUBY.split("\n")
Rubyとは...
オープンソースの動的なプログラミン
グ言語で、シンプルさと高い生産性を
備えています。エレガントな文法を持
ち、自然に読み書きができます。
RUBY
end
if v.include?('scrollkey')
dialog.trap_key = nil

View file

@ -935,6 +935,40 @@ begin
EOC
end
def test_dialog_with_fullwidth_chars
ENV['RELINE_TEST_PROMPT'] = '> '
start_terminal(30, 5, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --dialog fullwidth,scrollkey,scrollbar}, startup_message: 'Multiline REPL.')
6.times{ write('j') }
close
assert_screen(<<~'EOC')
Multi
line
REPL.
>
EOC
end
def test_dialog_with_fullwidth_chars_split
ENV['RELINE_TEST_PROMPT'] = '> '
start_terminal(30, 6, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl --dialog fullwidth,scrollkey,scrollbar}, startup_message: 'Multiline REPL.')
6.times{ write('j') }
close
assert_screen(<<~'EOC')
Multil
ine RE
PL.
>
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')