diff options
Diffstat (limited to 'spec/ruby/library/socket/unixsocket/pair_spec.rb')
| -rw-r--r-- | spec/ruby/library/socket/unixsocket/pair_spec.rb | 57 |
1 files changed, 39 insertions, 18 deletions
diff --git a/spec/ruby/library/socket/unixsocket/pair_spec.rb b/spec/ruby/library/socket/unixsocket/pair_spec.rb index 9a66c56c10..9f04f568fa 100644 --- a/spec/ruby/library/socket/unixsocket/pair_spec.rb +++ b/spec/ruby/library/socket/unixsocket/pair_spec.rb @@ -2,37 +2,58 @@ require_relative '../spec_helper' require_relative '../fixtures/classes' require_relative '../shared/partially_closable_sockets' -with_feature :unix_socket do - describe "UNIXSocket#pair" do - it_should_behave_like :partially_closable_sockets +describe "UNIXSocket.pair" do + it_should_behave_like :partially_closable_sockets - before :each do - @s1, @s2 = UNIXSocket.pair - end + before :each do + @s1, @s2 = UNIXSocket.pair + end - after :each do - @s1.close - @s2.close - end + after :each do + @s1.close + @s2.close + end - it "returns a pair of connected sockets" do - @s1.puts "foo" - @s2.gets.should == "foo\n" - end + it "returns two UNIXSockets" do + @s1.should.instance_of?(UNIXSocket) + @s2.should.instance_of?(UNIXSocket) + end + + it "returns a pair of connected sockets" do + @s1.puts "foo" + @s2.gets.should == "foo\n" + end - it "returns sockets with no name" do - @s1.path.should == @s2.path + platform_is_not :windows do + it "sets the socket paths to empty Strings" do @s1.path.should == "" + @s2.path.should == "" end - it "returns sockets with no address" do + it "sets the socket addresses to empty Strings" do @s1.addr.should == ["AF_UNIX", ""] @s2.addr.should == ["AF_UNIX", ""] end - it "returns sockets with no peeraddr" do + it "sets the socket peer addresses to empty Strings" do @s1.peeraddr.should == ["AF_UNIX", ""] @s2.peeraddr.should == ["AF_UNIX", ""] end end + + platform_is :windows do + it "emulates unnamed sockets with a temporary file with a path" do + @s1.addr.should == ["AF_UNIX", @s1.path] + @s2.peeraddr.should == ["AF_UNIX", @s1.path] + end + + it "sets the peer address of first socket to an empty string" do + @s1.peeraddr.should == ["AF_UNIX", ""] + end + + it "sets the address and path of second socket to an empty string" do + @s2.addr.should == ["AF_UNIX", ""] + @s2.path.should == "" + end + end end |
