Sha256: 479213b2ad2424943d11461483556ceb63f7ac22a3b265eb01dc9ac8e8e48117
Contents?: true
Size: 1.89 KB
Versions: 4
Compression:
Stored size: 1.89 KB
Contents
# -*- encoding: US-ASCII -*- require File.expand_path('../../fixtures/classes', __FILE__) describe "BasicSocket#recv" do before :each do @server = TCPServer.new('127.0.0.1', SocketSpecs.port) end after :each do @server.closed?.should be_false @server.close ScratchPad.clear end it "receives a specified number of bytes of a message from another socket" do t = Thread.new do client = @server.accept ScratchPad.record client.recv(10) client.recv(1) # this recv is important client.close end Thread.pass while t.status and t.status != "sleep" t.status.should_not be_nil socket = TCPSocket.new('127.0.0.1', SocketSpecs.port) socket.send('hello', 0) socket.close t.join ScratchPad.recorded.should == 'hello' end it "accepts flags to specify unusual receiving behaviour" do t = Thread.new do client = @server.accept # in-band data (TCP), doesn't receive the flag. ScratchPad.record client.recv(10) # this recv is important (TODO: explain) client.recv(10) client.close end Thread.pass while t.status and t.status != "sleep" t.status.should_not be_nil socket = TCPSocket.new('127.0.0.1', SocketSpecs.port) socket.send('helloU', Socket::MSG_OOB) socket.shutdown(1) t.join socket.close ScratchPad.recorded.should == 'hello' end it "gets lines delimited with a custom separator" do t = Thread.new do client = @server.accept ScratchPad.record client.gets("\377") # this call is important (TODO: explain) client.gets(nil) client.close end Thread.pass while t.status and t.status != "sleep" t.status.should_not be_nil socket = TCPSocket.new('127.0.0.1', SocketSpecs.port) socket.write("firstline\377secondline\377") socket.close t.join ScratchPad.recorded.should == "firstline\377" end end
Version data entries
4 entries across 4 versions & 1 rubygems