2018-08-03 12:19:40 -04:00
|
|
|
require_relative '../spec_helper'
|
|
|
|
|
|
|
|
describe 'UDPSocket#initialize' do
|
|
|
|
after do
|
|
|
|
@socket.close if @socket
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'initializes a new UDPSocket' do
|
|
|
|
@socket = UDPSocket.new
|
|
|
|
@socket.should be_an_instance_of(UDPSocket)
|
|
|
|
end
|
|
|
|
|
2018-09-25 06:41:16 -04:00
|
|
|
it 'initializes a new UDPSocket using an Integer' do
|
2018-08-03 12:19:40 -04:00
|
|
|
@socket = UDPSocket.new(Socket::AF_INET)
|
|
|
|
@socket.should be_an_instance_of(UDPSocket)
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'initializes a new UDPSocket using a Symbol' do
|
|
|
|
@socket = UDPSocket.new(:INET)
|
|
|
|
@socket.should be_an_instance_of(UDPSocket)
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'initializes a new UDPSocket using a String' do
|
|
|
|
@socket = UDPSocket.new('INET')
|
|
|
|
@socket.should be_an_instance_of(UDPSocket)
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'sets the socket to binmode' do
|
|
|
|
@socket = UDPSocket.new(:INET)
|
|
|
|
@socket.binmode?.should be_true
|
|
|
|
end
|
|
|
|
|
2019-06-07 00:10:21 -04:00
|
|
|
it 'raises Errno::EAFNOSUPPORT or Errno::EPROTONOSUPPORT when given an invalid address family' do
|
|
|
|
begin
|
|
|
|
UDPSocket.new(666)
|
|
|
|
rescue Errno::EAFNOSUPPORT, Errno::EPROTONOSUPPORT => e
|
|
|
|
[Errno::EAFNOSUPPORT, Errno::EPROTONOSUPPORT].should include(e.class)
|
|
|
|
else
|
|
|
|
raise "expected Errno::EAFNOSUPPORT or Errno::EPROTONOSUPPORT exception raised"
|
|
|
|
end
|
2018-08-03 12:19:40 -04:00
|
|
|
end
|
|
|
|
end
|