From 069e3aa4cc6d2e97d836bf25670ac84a84ff2168 Mon Sep 17 00:00:00 2001 From: shugo Date: Fri, 17 Oct 2008 02:50:43 +0000 Subject: * ext/socket/socket.c (init_sock): sockets should be binmode. * test/socket/test_tcp.rb (test_encoding): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/socket/test_tcp.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test/socket') diff --git a/test/socket/test_tcp.rb b/test/socket/test_tcp.rb index 3aa7be82c..c623c1b58 100644 --- a/test/socket/test_tcp.rb +++ b/test/socket/test_tcp.rb @@ -21,4 +21,23 @@ assert false, "TODO: doesn't work on mswin32/64" if /mswin/ =~ RUBY_PLATFORM th.kill th.join end + + def test_encoding + svr = TCPServer.new("localhost", 0) + th = Thread.new { + c = svr.accept + c.write "foo\r\n" + c.close + } + addr = svr.addr + sock = TCPSocket.open(addr[2], addr[1]) + assert_equal(true, sock.binmode?) + s = sock.gets + assert_equal("foo\r\n", s) + assert_equal(Encoding.find("ASCII-8BIT"), s.encoding) + ensure + th.kill + th.join + sock.close if sock + end end if defined?(TCPSocket) -- cgit