diff options
author | Eric Wong <e@80x24.org> | 2014-02-07 22:01:14 -0500 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2014-02-07 22:01:14 -0500 |
commit | 486591b239be4bfa6e7fe4e0adb92389a30cf289 (patch) | |
tree | 67c604f3f778516549f88d9db4b13562d42ccc21 | |
parent | 6ea1667ab4f5e96e3f761493a8c82a844aa4922b (diff) | |
download | sleepy_penguin-486591b239be4bfa6e7fe4e0adb92389a30cf289.tar.gz |
-rw-r--r-- | test/test_kqueue_io.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/test_kqueue_io.rb b/test/test_kqueue_io.rb index e2cbe0d..65f2443 100644 --- a/test/test_kqueue_io.rb +++ b/test/test_kqueue_io.rb @@ -29,6 +29,25 @@ class TestKqueueIO < Testcase assert_raises(TypeError) { kq.kevent("HI") } end + def test_delete + kq = Kqueue::IO.new + @to_close << kq + r, w = IO.pipe + @to_close << r + @to_close << w + kq.kevent(Kevent[r.fileno, EvFilt::READ, Ev::ADD, 0, 0, r]) + w.syswrite "." + 2.times do + got = [] + kq.kevent(nil, 1, 0) { |*args| got << args } + assert_equal 1, got.size + end + kq.kevent(Kevent[r.fileno, EvFilt::READ|EvFilt::WRITE, Ev::DELETE, 0, 0, 0]) + got = [] + kq.kevent(nil, 1, 0) { |*args| got << args } + assert_equal 0, got.size + end + def test_multi_event kq = Kqueue::IO.new @to_close << kq |