Sha256: cecb09f15c7aeb8295d6f44d94dab0e6dfabb9d39f1f90bb3aa02fc315b5bc50
Contents?: true
Size: 1.37 KB
Versions: 4
Compression:
Stored size: 1.37 KB
Contents
require File.expand_path('../../fixtures/classes', __FILE__) describe "Socket::IPSocket#recvfrom" do before :each do @server = TCPServer.new("127.0.0.1", SocketSpecs.port) @client = TCPSocket.new("127.0.0.1", SocketSpecs.port) end after :each do @server.close unless @server.closed? @client.close unless @client.closed? end it "reads data from the connection" do data = nil t = Thread.new do client = @server.accept data = client.recvfrom(6) client.close end @client.send('hello', 0) @client.shutdown rescue nil # shutdown may raise Errno::ENOTCONN when sent data is pending. t.join data.first.should == 'hello' end it "reads up to len bytes" do data = nil t = Thread.new do client = @server.accept data = client.recvfrom(3) client.close end @client.send('hello', 0) @client.shutdown rescue nil t.join data.first.should == 'hel' end it "returns an array with the data and connection info" do data = nil t = Thread.new do client = @server.accept data = client.recvfrom(3) client.close end @client.send('hello', 0) @client.shutdown rescue nil t.join data.size.should == 2 data.first.should == "hel" # This does not apply to every platform, dependant on recvfrom(2) # data.last.should == nil end end
Version data entries
4 entries across 4 versions & 1 rubygems