[前][次][番号順一覧][スレッド一覧]

ruby-changes:9230

From: akr <ko1@a...>
Date: Tue, 16 Dec 2008 00:36:33 +0900 (JST)
Subject: [ruby-changes:9230] Ruby:r20767 (trunk): add tests.

akr	2008-12-16 00:36:26 +0900 (Tue, 16 Dec 2008)

  New Revision: 20767

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20767

  Log:
    add tests.

  Modified files:
    trunk/test/test_pty.rb

Index: test/test_pty.rb
===================================================================
--- test/test_pty.rb	(revision 20766)
+++ test/test_pty.rb	(revision 20767)
@@ -38,5 +38,65 @@
       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
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]