summaryrefslogtreecommitdiff
path: root/spec/ruby/library/socket/basicsocket/for_fd_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/socket/basicsocket/for_fd_spec.rb')
-rw-r--r--spec/ruby/library/socket/basicsocket/for_fd_spec.rb27
1 files changed, 22 insertions, 5 deletions
diff --git a/spec/ruby/library/socket/basicsocket/for_fd_spec.rb b/spec/ruby/library/socket/basicsocket/for_fd_spec.rb
index 164e4dc93c..8d5b71cfa9 100644
--- a/spec/ruby/library/socket/basicsocket/for_fd_spec.rb
+++ b/spec/ruby/library/socket/basicsocket/for_fd_spec.rb
@@ -1,21 +1,38 @@
+require_relative '../spec_helper'
+require_relative '../fixtures/classes'
-require File.expand_path('../../../../spec_helper', __FILE__)
-require File.expand_path('../../fixtures/classes', __FILE__)
-
-describe "BasicSocket#for_fd" do
+describe "BasicSocket.for_fd" do
before :each do
@server = TCPServer.new(0)
@s2 = nil
end
after :each do
+ @socket1.close if @socket1
@server.close if @server
end
it "return a Socket instance wrapped around the descriptor" do
@s2 = TCPServer.for_fd(@server.fileno)
@s2.autoclose = false
- @s2.should be_kind_of(TCPServer)
+ @s2.should.is_a?(TCPServer)
@s2.fileno.should == @server.fileno
end
+
+ it 'returns a new socket for a file descriptor' do
+ @socket1 = Socket.new(:INET, :DGRAM)
+ socket2 = Socket.for_fd(@socket1.fileno)
+ socket2.autoclose = false
+
+ socket2.should.instance_of?(Socket)
+ socket2.fileno.should == @socket1.fileno
+ end
+
+ it 'sets the socket into binary mode' do
+ @socket1 = Socket.new(:INET, :DGRAM)
+ socket2 = Socket.for_fd(@socket1.fileno)
+ socket2.autoclose = false
+
+ socket2.binmode?.should == true
+ end
end