diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-15 15:36:26 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-15 15:36:26 +0000 |
commit | 849618990a4cde01688a4d07fe8da3516c90852e (patch) | |
tree | abded374ba907cb11295f53ecb67aad6ab2c9582 /test | |
parent | 354f5324d9c8061b79275db7b8219547e52f1ff2 (diff) | |
download | ruby-849618990a4cde01688a4d07fe8da3516c90852e.tar.gz ruby-849618990a4cde01688a4d07fe8da3516c90852e.tar.xz ruby-849618990a4cde01688a4d07fe8da3516c90852e.zip |
add tests.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/test_pty.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/test_pty.rb b/test/test_pty.rb index bbf85a3d3..684ab2c01 100644 --- a/test/test_pty.rb +++ b/test/test_pty.rb @@ -38,5 +38,65 @@ class TestPTY < Test::Unit::TestCase Process.wait(pid) } end + + def test_open_without_block + ret = PTY.open + assert_kind_of(Array, ret) + assert_equal(2, ret.length) + assert_equal(IO, ret[0].class) + assert_equal(File, ret[1].class) + master, slave = ret + assert(slave.tty?) + assert(File.chardev?(slave.path)) + ensure + if ret + ret[0].close + ret[1].close + end + end + + def test_open_with_block + r = nil + x = Object.new + y = PTY.open {|ret| + r = ret; + assert_kind_of(Array, ret) + assert_equal(2, ret.length) + assert_equal(IO, ret[0].class) + assert_equal(File, ret[1].class) + master, slave = ret + assert(slave.tty?) + assert(File.chardev?(slave.path)) + x + } + assert(r[0].closed?) + assert(r[1].closed?) + assert_equal(y, x) + end + + def test_close_in_block + PTY.open {|master, slave| + slave.close + master.close + assert(slave.closed?) + assert(master.closed?) + } + assert_nothing_raised { + PTY.open {|master, slave| + slave.close + master.close + } + } + end + + def test_open + PTY.open {|master, slave| + slave.puts "foo" + assert_equal("foo", master.gets.chomp) + master.puts "bar" + assert_equal("bar", slave.gets.chomp) + } + end + end if defined? PTY |