diff options
author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-22 08:33:05 +0000 |
---|---|---|
committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-22 08:33:05 +0000 |
commit | 759410a8c9c1aa222b2dfb1fd562b41aa6945b3b (patch) | |
tree | d91dd5279b455dbe0fb732f34118c5e9cec7fd16 /test/readline/test_readline.rb | |
parent | 941af2749069a165d6a37cd75c29f9725e9f9e88 (diff) |
* test/readline/test_readline.rb (TestReadline::replace_stdio):
merged the patch of [ruby-dev:25232] instead of [ruby-dev:25223].
(merged from ruby_1_8 branch)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/readline/test_readline.rb')
-rw-r--r-- | test/readline/test_readline.rb | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb index b6f2d2c8b6..73a496a4f9 100644 --- a/test/readline/test_readline.rb +++ b/test/readline/test_readline.rb @@ -62,20 +62,24 @@ class TestReadline < Test::Unit::TestCase private def replace_stdio(stdin_path, stdout_path) - orig_stdin = STDIN.dup - orig_stdout = STDOUT.dup - STDIN.reopen(stdin_path, "r") - STDOUT.reopen(stdout_path, "w") - begin - Readline.input = STDIN - Readline.output = STDOUT - yield - ensure - STDIN.reopen(orig_stdin) - STDOUT.reopen(orig_stdout) - orig_stdin.close - orig_stdout.close - end + 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 + Readline.input = STDIN + Readline.output = STDOUT + yield + ensure + STDIN.reopen(orig_stdin) + STDOUT.reopen(orig_stdout) + orig_stdin.close + orig_stdout.close + end + } + } end end |