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

describe "Socket" do
  it "inherits from BasicSocket and IO" do
    Socket.superclass.should == BasicSocket
    BasicSocket.superclass.should == IO
  end
end

describe "The socket class hierarchy" do
  it "has an IPSocket in parallel to Socket" do
    Socket.ancestors.include?(IPSocket).should == false
    IPSocket.ancestors.include?(Socket).should == false
    IPSocket.superclass.should == BasicSocket
  end

  it "has TCPSocket and UDPSocket subclasses of IPSocket" do
    TCPSocket.superclass.should == IPSocket
    UDPSocket.superclass.should == IPSocket
  end

  platform_is_not :windows do
    it "has a UNIXSocket in parallel to Socket" do
      Socket.ancestors.include?(UNIXSocket).should == false
      UNIXSocket.ancestors.include?(Socket).should == false
      UNIXSocket.superclass.should == BasicSocket
    end
  end
end

platform_is_not :windows do
  describe "Server class hierarchy" do
    it "contains UNIXServer" do
      UNIXServer.superclass.should == UNIXSocket
    end
  end
end