diff options
Diffstat (limited to 'spec/ruby/library/socket/addrinfo/ip_spec.rb')
| -rw-r--r-- | spec/ruby/library/socket/addrinfo/ip_spec.rb | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/spec/ruby/library/socket/addrinfo/ip_spec.rb b/spec/ruby/library/socket/addrinfo/ip_spec.rb index 2e4b613ae5..2237eca263 100644 --- a/spec/ruby/library/socket/addrinfo/ip_spec.rb +++ b/spec/ruby/library/socket/addrinfo/ip_spec.rb @@ -1,5 +1,5 @@ -require File.expand_path('../../../../spec_helper', __FILE__) -require 'socket' +require_relative '../spec_helper' +require_relative '../fixtures/classes' describe "Addrinfo#ip?" do describe "for an ipv4 socket" do @@ -8,7 +8,7 @@ describe "Addrinfo#ip?" do end it "returns true" do - @addrinfo.ip?.should be_true + @addrinfo.ip?.should == true end end @@ -18,19 +18,45 @@ describe "Addrinfo#ip?" do end it "returns true" do - @addrinfo.ip?.should be_true + @addrinfo.ip?.should == true end end - platform_is_not :windows do - describe "for a unix socket" do - before :each do - @addrinfo = Addrinfo.unix("/tmp/sock") - end + describe "for a unix socket" do + before :each do + @addrinfo = Addrinfo.unix("/tmp/sock") + end + + it "returns false" do + @addrinfo.ip?.should == false + 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.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 "returns Socket::AF_INET6" do - @addrinfo.ip?.should be_false - end + it 'sets the socket type to 0' do + Addrinfo.ip(ip_address).socktype.should == 0 end end end |
