summaryrefslogtreecommitdiff
path: root/spec/ruby/library/socket/udpsocket/connect_spec.rb
blob: d92bdeb9814d357c427935cd33ea78bf2fe5952c (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
require_relative '../spec_helper'
require_relative '../fixtures/classes'

describe 'UDPSocket#connect' do
  SocketSpecs.each_ip_protocol do |family, ip_address|
    before do
      @socket = UDPSocket.new(family)
    end

    after do
      @socket.close
    end

    it 'connects to an address even when it is not used' do
      @socket.connect(ip_address, 9996).should == 0
    end

    it 'can send data after connecting' do
      receiver = UDPSocket.new(family)

      receiver.bind(ip_address, 0)

      addr = receiver.connect_address

      @socket.connect(addr.ip_address, addr.ip_port)
      @socket.write('hello')

      begin
        receiver.recv(6).should == 'hello'
      ensure
        receiver.close
      end
    end
  end
end