1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
require File.expand_path('../../../../spec_helper', __FILE__)
require File.expand_path('../../fixtures/classes', __FILE__)
describe "TCPSocket#recv_nonblock" do
before :all do
SocketSpecs::SpecTCPServer.start
end
before :each do
@hostname = SocketSpecs::SpecTCPServer.get.hostname
@socket = nil
end
after :each do
if @socket
@socket.write "QUIT"
@socket.close
end
end
it "returns a String read from the socket" do
@socket = TCPSocket.new @hostname, SocketSpecs.port
@socket.write "TCPSocket#recv_nonblock"
# Wait for the server to echo. This spec is testing the return
# value, not the non-blocking behavior.
#
# TODO: Figure out a good way to test non-blocking.
IO.select([@socket])
@socket.recv_nonblock(50).should == "TCPSocket#recv_nonblock"
end
end
|