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
|
2019-06-27 15:02:36 -04:00
|
|
|
-> {
|
2019-06-07 00:10:21 -04:00
|
|
|
UDPSocket.new(666)
|
2019-06-27 15:02:36 -04:00
|
|
|
}.should raise_error(SystemCallError) { |e|
|
2019-06-07 00:10:21 -04:00
|
|
|
[Errno::EAFNOSUPPORT, Errno::EPROTONOSUPPORT].should include(e.class)
|
2019-06-27 15:02:36 -04:00
|
|
|
}
|
2018-08-03 12:19:40 -04:00
|
|
|
end
|
|
|
|
end
|