File: marshal_load_spec.rb

package info (click to toggle)
ruby3.4 3.4.5-1~exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 154,784 kB
  • sloc: ruby: 1,259,653; ansic: 829,955; yacc: 28,233; pascal: 7,359; sh: 3,864; python: 1,799; cpp: 1,158; asm: 808; makefile: 801; javascript: 414; lisp: 109; perl: 62; awk: 36; sed: 4; xml: 4
file content (35 lines) | stat: -rw-r--r-- 1,163 bytes parent folder | download | duplicates (7)
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
require_relative '../spec_helper'

describe 'Addrinfo#marshal_load' do
  describe 'using an IP address' do
    it 'returns a new Addrinfo' do
      source = Addrinfo.getaddrinfo('localhost', 80, :INET, :STREAM,
                                    Socket::IPPROTO_TCP, Socket::AI_CANONNAME)[0]

      addr = Marshal.load(Marshal.dump(source))

      addr.afamily.should    == source.afamily
      addr.pfamily.should    == source.pfamily
      addr.socktype.should   == source.socktype
      addr.protocol.should   == source.protocol
      addr.ip_address.should == source.ip_address
      addr.ip_port.should    == source.ip_port
      addr.canonname.should  == source.canonname
    end
  end

  with_feature :unix_socket do
    describe 'using a UNIX socket' do
      it 'returns a new Addrinfo' do
        source = Addrinfo.unix('foo')
        addr   = Marshal.load(Marshal.dump(source))

        addr.afamily.should   == source.afamily
        addr.pfamily.should   == source.pfamily
        addr.socktype.should  == source.socktype
        addr.protocol.should  == source.protocol
        addr.unix_path.should == source.unix_path
      end
    end
  end
end