summaryrefslogtreecommitdiff
path: root/spec/ruby/library/socket/addrinfo/ip_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/socket/addrinfo/ip_spec.rb')
-rw-r--r--spec/ruby/library/socket/addrinfo/ip_spec.rb36
1 files changed, 32 insertions, 4 deletions
diff --git a/spec/ruby/library/socket/addrinfo/ip_spec.rb b/spec/ruby/library/socket/addrinfo/ip_spec.rb
index 6eabbccef8..80e7a62df7 100644
--- a/spec/ruby/library/socket/addrinfo/ip_spec.rb
+++ b/spec/ruby/library/socket/addrinfo/ip_spec.rb
@@ -1,5 +1,5 @@
-require_relative '../../../spec_helper'
-require 'socket'
+require_relative '../spec_helper'
+require_relative '../fixtures/classes'
describe "Addrinfo#ip?" do
describe "for an ipv4 socket" do
@@ -22,15 +22,43 @@ describe "Addrinfo#ip?" do
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 Socket::AF_INET6" do
+ it "returns false" do
@addrinfo.ip?.should be_false
end
end
end
end
+
+describe 'Addrinfo.ip' do
+ SocketSpecs.each_ip_protocol do |family, ip_address|
+ it 'returns an Addrinfo instance' do
+ Addrinfo.ip(ip_address).should be_an_instance_of(Addrinfo)
+ end
+
+ it 'sets the IP address' do
+ Addrinfo.ip(ip_address).ip_address.should == ip_address
+ end
+
+ it 'sets the port to 0' do
+ Addrinfo.ip(ip_address).ip_port.should == 0
+ end
+
+ it 'sets the address family' do
+ Addrinfo.ip(ip_address).afamily.should == family
+ end
+
+ it 'sets the protocol family' do
+ Addrinfo.ip(ip_address).pfamily.should == family
+ end
+
+ it 'sets the socket type to 0' do
+ Addrinfo.ip(ip_address).socktype.should == 0
+ end
+ end
+end