Index: ext/openssl/lib/openssl/buffering.rb =================================================================== --- ext/openssl/lib/openssl/buffering.rb (revision 43961) +++ ext/openssl/lib/openssl/buffering.rb (working copy) @@ -1,4 +1,4 @@ -# +# coding: binary #-- #= $RCSfile$ -- Buffering mix-in module. # Index: test/openssl/test_ssl.rb =================================================================== --- test/openssl/test_ssl.rb (revision 43961) +++ test/openssl/test_ssl.rb (working copy) @@ -30,6 +30,20 @@ class OpenSSL::TestSSL < OpenSSL::SSLTes end end + def test_ssl_gets + start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true) { |server, port| + server_connect(port) { |ssl| + ssl.write "abc\n" + IO.select [ssl] + + line = ssl.gets + + assert_equal "abc\n", line + assert_equal Encoding::BINARY, line.encoding + } + } + end + def test_ssl_read_nonblock start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true) { |server, port| server_connect(port) { |ssl|