summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-25 09:36:40 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-25 09:36:40 +0000
commitbb4329becdce611519c8e6486661969ede17f704 (patch)
tree61a3c7350ef760daf1eb5922b8fcc7375991bdc1 /test
parentd42b3e5c8875939208b3dfd0145447d15eba21b5 (diff)
* io.c (pipe_close): removed.
(pipe_yield): defined. (rb_io_s_pipe): use pipe_yield. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_io.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index 7739535ecd..c3fbbd6905 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -50,6 +50,19 @@ class TestIO < Test::Unit::TestCase
assert(x[1].closed?)
end
+ def test_pipe_block_close
+ 4.times {|i|
+ x = nil
+ IO.pipe {|r, w|
+ x = [r,w]
+ r.close if (i&1) == 0
+ w.close if (i&2) == 0
+ }
+ assert(x[0].closed?)
+ assert(x[1].closed?)
+ }
+ end
+
def test_gets_rs
# default_rs
r, w = IO.pipe