From 3cd403df5daf9546778437d9980fc7567825861b Mon Sep 17 00:00:00 2001 From: shugo Date: Thu, 22 Sep 2005 07:44:32 +0000 Subject: * test/readline/test_readline.rb (TestReadline::replace_stdio): merged the patch of [ruby-dev:25232] instead of [ruby-dev:25223]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/readline/test_readline.rb | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'test/readline') diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb index ac2966b487..edc3aa09b9 100644 --- a/test/readline/test_readline.rb +++ b/test/readline/test_readline.rb @@ -62,19 +62,22 @@ class TestReadline < Test::Unit::TestCase private def replace_stdio(stdin_path, stdout_path) - STDIN.seek(0, File::SEEK_SET) rescue nil - 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 -- cgit v1.2.3