summaryrefslogtreecommitdiff
path: root/spec/ruby/library/socket/unixsocket/addr_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/socket/unixsocket/addr_spec.rb')
-rw-r--r--spec/ruby/library/socket/unixsocket/addr_spec.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/ruby/library/socket/unixsocket/addr_spec.rb b/spec/ruby/library/socket/unixsocket/addr_spec.rb
new file mode 100644
index 0000000000..b3ae2af5d8
--- /dev/null
+++ b/spec/ruby/library/socket/unixsocket/addr_spec.rb
@@ -0,0 +1,33 @@
+require_relative '../spec_helper'
+require_relative '../fixtures/classes'
+
+describe "UNIXSocket#addr" do
+ before :each do
+ @path = SocketSpecs.socket_path
+ @server = UNIXServer.open(@path)
+ @client = UNIXSocket.open(@path)
+ end
+
+ after :each do
+ @client.close
+ @server.close
+ SocketSpecs.rm_socket @path
+ end
+
+ it "returns an array" do
+ @client.addr.should.is_a?(Array)
+ end
+
+ it "returns the address family of this socket in an array" do
+ @client.addr[0].should == "AF_UNIX"
+ @server.addr[0].should == "AF_UNIX"
+ end
+
+ it "returns the path of the socket in an array if it's a server" do
+ @server.addr[1].should == @path
+ end
+
+ it "returns an empty string for path if it's a client" do
+ @client.addr[1].should == ""
+ end
+end