From 01ad1e82b507c27563592145bf32e9a56b3741f0 Mon Sep 17 00:00:00 2001 From: shugo Date: Wed, 25 May 2005 13:01:56 +0000 Subject: * ext/readline/readline.c: supported libedit. (backported from HEAD) * ext/readline/extconf.rb: ditto. * test/readline/test_readline.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/readline/test_readline.rb | 55 ++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 26 deletions(-) (limited to 'test/readline') diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb index b2c83b4021..3041683806 100644 --- a/test/readline/test_readline.rb +++ b/test/readline/test_readline.rb @@ -3,7 +3,7 @@ begin rescue LoadError end -if defined?(Readline) +if defined?(Readline) && !/EditLine/n.match(Readline::VERSION) require "test/unit" require "tempfile" @@ -16,11 +16,15 @@ class TestReadline < Test::Unit::TestCase stdin.write("hello\n") stdin.close stdout.close - line = replace_stdio(stdin.path, stdout.path) { Readline.readline("> ") } + line = replace_stdio(stdin.path, stdout.path) { + Readline.readline("> ", true) + } assert_equal("hello", line) assert_equal(true, line.tainted?) stdout.open assert_equal("> ", stdout.read(2)) + assert_equal(1, Readline::HISTORY.length) + assert_equal("hello", Readline::HISTORY[0]) assert_raises(SecurityError) do Thread.start { $SAFE = 1 @@ -42,35 +46,34 @@ class TestReadline < Test::Unit::TestCase end def test_completion_append_character - Readline.completion_append_character = "x" - assert_equal("x", Readline.completion_append_character) - Readline.completion_append_character = "xyz" - assert_equal("x", Readline.completion_append_character) - Readline.completion_append_character = nil - assert_equal(nil, Readline.completion_append_character) - Readline.completion_append_character = "" - assert_equal(nil, Readline.completion_append_character) + begin + Readline.completion_append_character = "x" + assert_equal("x", Readline.completion_append_character) + Readline.completion_append_character = "xyz" + assert_equal("x", Readline.completion_append_character) + Readline.completion_append_character = nil + assert_equal(nil, Readline.completion_append_character) + Readline.completion_append_character = "" + assert_equal(nil, Readline.completion_append_character) + rescue NotImplementedError + end end private def replace_stdio(stdin_path, stdout_path) - open(stdin_path, "r"){|stdin| - open(stdout_path, "w"){|stdout| - orig_stdin = STDIN.dup - orig_stdout = STDOUT.dup - STDIN.reopen(stdin) - STDOUT.reopen(stdout) - begin - yield - ensure - STDIN.reopen(orig_stdin) - STDOUT.reopen(orig_stdout) - orig_stdin.close - orig_stdout.close - end - } - } + orig_stdin = STDIN.dup + orig_stdout = STDOUT.dup + STDIN.reopen(stdin_path, "r") + STDOUT.reopen(stdout_path, "w") + begin + yield + ensure + STDIN.reopen(orig_stdin) + STDOUT.reopen(orig_stdout) + orig_stdin.close + orig_stdout.close + end end end -- cgit v1.2.3