diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/socket/test_socket.rb | 13 | ||||
-rw-r--r-- | test/socket/test_unix.rb | 14 |
2 files changed, 27 insertions, 0 deletions
diff --git a/test/socket/test_socket.rb b/test/socket/test_socket.rb index 90f1037db8..3133590ab1 100644 --- a/test/socket/test_socket.rb +++ b/test/socket/test_socket.rb @@ -97,4 +97,17 @@ class TestSocket < Test::Unit::TestCase c.close if c IO.for_fd(fd).close if fd end + + def test_initialize + Socket.open(Socket::AF_INET, Socket::SOCK_STREAM, 0) {|s| + addr = s.getsockname + assert_nothing_raised { Socket.unpack_sockaddr_in(addr) } + assert_raise(ArgumentError) { Socket.unpack_sockaddr_un(addr) } + } + Socket.open("AF_INET", "SOCK_STREAM", 0) {|s| + addr = s.getsockname + assert_nothing_raised { Socket.unpack_sockaddr_in(addr) } + assert_raise(ArgumentError) { Socket.unpack_sockaddr_un(addr) } + } + end end if defined?(Socket) diff --git a/test/socket/test_unix.rb b/test/socket/test_unix.rb index 5b041f1733..853fb28ef5 100644 --- a/test/socket/test_unix.rb +++ b/test/socket/test_unix.rb @@ -166,4 +166,18 @@ class TestUNIXSocket < Test::Unit::TestCase assert_kind_of(UNIXSocket, pair[1]) end + def test_initialize + Socket.open(Socket::AF_UNIX, Socket::SOCK_STREAM, 0) {|s| + addr = s.getsockname + assert_nothing_raised { Socket.unpack_sockaddr_un(addr) } + assert_raise(ArgumentError) { Socket.unpack_sockaddr_in(addr) } + } + Socket.open("AF_UNIX", "SOCK_STREAM", 0) {|s| + addr = s.getsockname + assert_nothing_raised { Socket.unpack_sockaddr_un(addr) } + assert_raise(ArgumentError) { Socket.unpack_sockaddr_in(addr) } + } + end + + end if defined?(UNIXSocket) && /cygwin/ !~ RUBY_PLATFORM |