summaryrefslogtreecommitdiff
path: root/spec/ruby/library/socket/addrinfo/inspect_spec.rb
blob: 98e1e83ffa921f2aa063cae2044f5258a7833161 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
require_relative '../spec_helper'

describe 'Addrinfo#inspect' do
  describe 'using an IPv4 Addrinfo' do
    it 'returns a String when using a TCP Addrinfo' do
      addr = Addrinfo.tcp('127.0.0.1', 80)

      addr.inspect.should == '#<Addrinfo: 127.0.0.1:80 TCP>'
    end

    it 'returns a String when using an UDP Addrinfo' do
      addr = Addrinfo.udp('127.0.0.1', 80)

      addr.inspect.should == '#<Addrinfo: 127.0.0.1:80 UDP>'
    end

    it 'returns a String when using an Addrinfo without a port' do
      addr = Addrinfo.ip('127.0.0.1')

      addr.inspect.should == '#<Addrinfo: 127.0.0.1>'
    end
  end

  describe 'using an IPv6 Addrinfo' do
    it 'returns a String when using a TCP Addrinfo' do
      addr = Addrinfo.tcp('::1', 80)

      addr.inspect.should == '#<Addrinfo: [::1]:80 TCP>'
    end

    it 'returns a String when using an UDP Addrinfo' do
      addr = Addrinfo.udp('::1', 80)

      addr.inspect.should == '#<Addrinfo: [::1]:80 UDP>'
    end

    it 'returns a String when using an Addrinfo without a port' do
      addr = Addrinfo.ip('::1')

      addr.inspect.should == '#<Addrinfo: ::1>'
    end
  end

  with_feature :unix_socket do
    describe 'using a UNIX Addrinfo' do
      it 'returns a String' do
        addr = Addrinfo.unix('/foo')

        addr.inspect.should == '#<Addrinfo: /foo SOCK_STREAM>'
      end

      it 'returns a String when using a relative UNIX path' do
        addr = Addrinfo.unix('foo')

        addr.inspect.should == '#<Addrinfo: UNIX foo SOCK_STREAM>'
      end

      it 'returns a String when using a DGRAM socket' do
        addr = Addrinfo.unix('/foo', Socket::SOCK_DGRAM)

        addr.inspect.should == '#<Addrinfo: /foo SOCK_DGRAM>'
      end
    end
  end
end