aboutsummaryrefslogtreecommitdiffstats
path: root/test/readline
diff options
context:
space:
mode:
Diffstat (limited to 'test/readline')
-rw-r--r--test/readline/test_readline.rb24
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)