Bug #5802 » 0002-test-in-both-cases-of-Readline.completion_append_cha.patch
test/readline/test_readline.rb | ||
---|---|---|
return
|
||
end
|
||
stdin = Tempfile.new("test_readline_stdin")
|
||
stdout = Tempfile.new("test_readline_stdout")
|
||
begin
|
||
actual_text = nil
|
||
actual_line_buffer = nil
|
||
actual_point = nil
|
||
Readline.completion_proc = proc { |text|
|
||
actual_text = text
|
||
actual_point = Readline.point
|
||
actual_line_buffer = Readline.line_buffer
|
||
stdin.write(" finish\n")
|
||
stdin.close
|
||
stdout.close
|
||
["complete"]
|
||
}
|
||
stdin.write("first second\t")
|
||
stdin.flush
|
||
replace_stdio(stdin.path, stdout.path) {
|
||
Readline.readline("> ", false)
|
||
}
|
||
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(21, Readline.point)
|
||
ensure
|
||
stdin.close(true)
|
||
stdout.close(true)
|
||
[" ", nil].each do |append_character|
|
||
Readline.completion_append_character = append_character
|
||
stdin = Tempfile.new("test_readline_stdin")
|
||
stdout = Tempfile.new("test_readline_stdout")
|
||
begin
|
||
actual_text = nil
|
||
actual_line_buffer = nil
|
||
actual_point = nil
|
||
Readline.completion_proc = proc { |text|
|
||
actual_text = text
|
||
actual_point = Readline.point
|
||
actual_line_buffer = Readline.line_buffer
|
||
stdin.write("%sfinish\n" % (" " unless append_character))
|
||
stdin.close
|
||
stdout.close
|
||
["complete"]
|
||
}
|
||
stdin.write("first second\t")
|
||
stdin.flush
|
||
replace_stdio(stdin.path, stdout.path) {
|
||
Readline.readline("> ", false)
|
||
}
|
||
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(21, Readline.point)
|
||
ensure
|
||
stdin.close(true)
|
||
stdout.close(true)
|
||
end
|
||
end
|
||
end
|
||
end
|
- « Previous
- 1
- 2
- Next »