diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | test/readline/test_readline.rb | 28 |
2 files changed, 21 insertions, 12 deletions
@@ -1,3 +1,8 @@ +Fri Dec 17 18:07:01 2004 Shugo Maeda <shugo@ruby-lang.org> + + * test/readline/test_readline.rb: fix for BSD. Thanks, GOTOU Yuuzou. + fixed: [ruby-dev:25218] + Fri Dec 17 16:28:12 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> * ext/tk/lib/tk.rb: fix bug on setting up system encoding diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb index e7093f7bd3..b2c83b4021 100644 --- a/test/readline/test_readline.rb +++ b/test/readline/test_readline.rb @@ -55,18 +55,22 @@ 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 - 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 + yield + ensure + STDIN.reopen(orig_stdin) + STDOUT.reopen(orig_stdout) + orig_stdin.close + orig_stdout.close + end + } + } end end |