Project

General

Profile

Bug #5802 » 0002-test-in-both-cases-of-Readline.completion_append_cha.patch

no6v (Nobuhiro IMAI), 12/24/2011 12:39 AM

View differences:

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
(2-2/2)