summaryrefslogtreecommitdiff
path: root/spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb')
-rw-r--r--spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb24
1 files changed, 20 insertions, 4 deletions
diff --git a/spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb b/spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb
index 86819a31b0..c32da5986d 100644
--- a/spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb
+++ b/spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb
@@ -6,7 +6,7 @@ describe :socket_addrinfo_to_sockaddr, :shared => true do
end
it "returns a sockaddr packed structure" do
- @addrinfo.send(@method).should be_kind_of(String)
+ @addrinfo.send(@method).should == Socket.sockaddr_in(80, '127.0.0.1')
end
end
@@ -16,20 +16,36 @@ describe :socket_addrinfo_to_sockaddr, :shared => true do
end
it "returns a sockaddr packed structure" do
- @addrinfo.send(@method).should be_kind_of(String)
+ @addrinfo.send(@method).should == Socket.sockaddr_in(80, '::1')
end
end
- platform_is_not :windows do
+ with_feature :unix_socket do
describe "for a unix socket" do
before :each do
@addrinfo = Addrinfo.unix("/tmp/sock")
end
it "returns a sockaddr packed structure" do
- @addrinfo.send(@method).should be_kind_of(String)
+ @addrinfo.send(@method).should == Socket.sockaddr_un('/tmp/sock')
end
end
end
+ describe 'using a Addrinfo with just an IP address' do
+ it 'returns a String' do
+ addr = Addrinfo.ip('127.0.0.1')
+
+ addr.send(@method).should == Socket.sockaddr_in(0, '127.0.0.1')
+ end
+ end
+
+ describe 'using a Addrinfo without an IP and port' do
+ it 'returns a String' do
+ addr = Addrinfo.new(['AF_INET', 0, '', ''])
+
+ addr.send(@method).should == Socket.sockaddr_in(0, '')
+ end
+ end
+
end