diff options
Diffstat (limited to 'ruby_1_8_6/test/readline/test_readline.rb')
-rw-r--r-- | ruby_1_8_6/test/readline/test_readline.rb | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/ruby_1_8_6/test/readline/test_readline.rb b/ruby_1_8_6/test/readline/test_readline.rb deleted file mode 100644 index edc3aa09b9..0000000000 --- a/ruby_1_8_6/test/readline/test_readline.rb +++ /dev/null @@ -1,84 +0,0 @@ -begin - require "readline" -rescue LoadError -end - -if defined?(Readline) && !/EditLine/n.match(Readline::VERSION) - -require "test/unit" -require "tempfile" - -class TestReadline < Test::Unit::TestCase - def test_readline - stdin = Tempfile.new("test_readline_stdin") - stdout = Tempfile.new("test_readline_stdout") - begin - stdin.write("hello\n") - stdin.close - stdout.close - 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 - replace_stdio(stdin.path, stdout.path) do - Readline.readline("> ".taint) - end - }.join - end - assert_raises(SecurityError) do - Thread.start { - $SAFE = 4 - replace_stdio(stdin.path, stdout.path) { Readline.readline("> ") } - }.join - end - ensure - stdin.close(true) - stdout.close(true) - end - end - - def test_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 - } - } - end -end - -end |