summaryrefslogtreecommitdiff
path: root/spec/ruby/library/socket/addrinfo/udp_spec.rb
blob: b05cbf9b0bc693aaa27b1f66fc78a09ee1c251ec (plain)
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
33
34
35
36
require_relative '../spec_helper'
require_relative '../fixtures/classes'

describe 'Addrinfo.udp' do
  SocketSpecs.each_ip_protocol do |family, ip_address|
    it 'returns an Addrinfo instance' do
      Addrinfo.udp(ip_address, 80).should be_an_instance_of(Addrinfo)
    end

    it 'sets the IP address' do
      Addrinfo.udp(ip_address, 80).ip_address.should == ip_address
    end

    it 'sets the port' do
      Addrinfo.udp(ip_address, 80).ip_port.should == 80
    end

    it 'sets the address family' do
      Addrinfo.udp(ip_address, 80).afamily.should == family
    end

    it 'sets the protocol family' do
      Addrinfo.udp(ip_address, 80).pfamily.should == family
    end

    it 'sets the socket type' do
      Addrinfo.udp(ip_address, 80).socktype.should == Socket::SOCK_DGRAM
    end

    platform_is_not :solaris do
      it 'sets the socket protocol' do
        Addrinfo.udp(ip_address, 80).protocol.should == Socket::IPPROTO_UDP
      end
    end
  end
end