diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-12-23 21:59:54 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-12-23 21:59:54 +0000 |
commit | 8397134330c388e562a8f7aa255b36dbcd7efecf (patch) | |
tree | e1b83142301dd20a399b176642d8a3d392c005e9 /test/readline | |
parent | db9657a8bf962e29a3258f4dab62d216c5137a54 (diff) | |
download | ruby-8397134330c388e562a8f7aa255b36dbcd7efecf.tar.gz |
* test/readline/test_readline.rb (test_line_buffer__point): use
lambda not to exit entire method by "return". or "next" for
proc. [ruby-dev:45042] [Bug #5802]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/readline')
-rw-r--r-- | test/readline/test_readline.rb | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb index a504fa5e2f..e3a7c5d4ec 100644 --- a/test/readline/test_readline.rb +++ b/test/readline/test_readline.rb @@ -136,20 +136,40 @@ class TestReadline < Test::Unit::TestCase actual_text = nil actual_line_buffer = nil actual_point = nil - Readline.completion_proc = proc { |text| + Readline.completion_proc = ->(text) { actual_text = text actual_point = Readline.point - actual_buffer_line = Readline.line_buffer + actual_line_buffer = Readline.line_buffer stdin.write(" finish\n") stdin.close stdout.close return ["complete"] } + + stdin.write("first second\t") + stdin.flush + Readline.completion_append_character = " " + line = replace_stdio(stdin.path, stdout.path) { + Readline.readline("> ", false) + } + assert_equal("second", actual_text) + assert_equal("first second", actual_line_buffer) + assert_equal(12, actual_point) + assert_equal("first complete finish", Readline.line_buffer) + assert_equal(Encoding.find("locale"), Readline.line_buffer.encoding) + assert_equal(true, Readline.line_buffer.tainted?) + assert_equal(22, Readline.point) + + stdin.open + stdout.open + stdin.write("first second\t") stdin.flush + Readline.completion_append_character = nil line = replace_stdio(stdin.path, stdout.path) { Readline.readline("> ", false) } + assert_equal("second", actual_text) assert_equal("first second", actual_line_buffer) assert_equal(12, actual_point) assert_equal("first complete finish", Readline.line_buffer) |