diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-02-03 14:28:11 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-02-03 14:28:11 -0800 |
commit | c8fb5aa33262a455997ff6a57659a8d125f36d66 (patch) | |
tree | 4d97b1854fa3d1703fb8d9542d7584bdb7c303b9 /test | |
parent | cff0dd2f73acc73f721b2a589af9e37baedd2489 (diff) | |
download | kgio-c8fb5aa33262a455997ff6a57659a8d125f36d66.tar.gz |
This refreshes (or sets) the @kgio_addr ivar for sockets that didn't go through kgio_accept or kgio_tryaccept.
Diffstat (limited to 'test')
-rw-r--r-- | test/test_kgio_addr.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/test_kgio_addr.rb b/test/test_kgio_addr.rb new file mode 100644 index 0000000..8650f5e --- /dev/null +++ b/test/test_kgio_addr.rb @@ -0,0 +1,19 @@ +# -*- encoding: binary -*- +require 'test/unit' +$-w = true +require 'kgio' + +class TestKgioAddr < Test::Unit::TestCase + def test_tcp + addr = ENV["TEST_HOST"] || '127.0.0.1' + tcp = TCPServer.new(addr, 0) + port = tcp.addr[1] + client = Kgio::TCPSocket.new(addr, port) + accepted = tcp.accept + assert ! accepted.instance_eval { defined?(@kgio_addr) } + accepted.extend Kgio::SocketMethods + s = accepted.kgio_addr! + assert_equal addr, s + assert_equal addr, accepted.instance_variable_get(:@kgio_addr) + end +end |