Skip to content

Commit 07b8026

Browse files
committed
Add specs for BasicSocket#do_not_reverse_lookup
1 parent ed3c385 commit 07b8026

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

spec/ruby/library/socket/basicsocket/do_not_reverse_lookup_spec.rb

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,67 @@
3737
@socket.peeraddr[2].should == "127.0.0.1"
3838
end
3939
end
40+
41+
describe :socket_do_not_reverse_lookup, shared: true do
42+
it "inherits from BasicSocket.do_not_reverse_lookup when the socket is created" do
43+
@socket = @method.call
44+
reverse = BasicSocket.do_not_reverse_lookup
45+
@socket.do_not_reverse_lookup.should == reverse
46+
47+
BasicSocket.do_not_reverse_lookup = !reverse
48+
@socket.do_not_reverse_lookup.should == reverse
49+
end
50+
51+
it "is true when BasicSocket.do_not_reverse_lookup is true" do
52+
BasicSocket.do_not_reverse_lookup = true
53+
@socket = @method.call
54+
@socket.do_not_reverse_lookup.should == true
55+
end
56+
57+
it "is false when BasicSocket.do_not_reverse_lookup is false" do
58+
BasicSocket.do_not_reverse_lookup = false
59+
@socket = @method.call
60+
@socket.do_not_reverse_lookup.should == false
61+
end
62+
63+
it "can be changed with #do_not_reverse_lookup=" do
64+
@socket = @method.call
65+
reverse = @socket.do_not_reverse_lookup
66+
@socket.do_not_reverse_lookup = !reverse
67+
@socket.do_not_reverse_lookup.should == !reverse
68+
end
69+
end
70+
71+
describe "BasicSocket#do_not_reverse_lookup" do
72+
before :each do
73+
@do_not_reverse_lookup = BasicSocket.do_not_reverse_lookup
74+
@server = TCPServer.new('127.0.0.1', 0)
75+
@port = @server.addr[1]
76+
end
77+
78+
after :each do
79+
@server.close unless @server.closed?
80+
@socket.close if @socket && !@socket.closed?
81+
BasicSocket.do_not_reverse_lookup = @do_not_reverse_lookup
82+
end
83+
84+
describe "for an TCPSocket.new socket" do
85+
it_behaves_like :socket_do_not_reverse_lookup, -> {
86+
TCPSocket.new('127.0.0.1', @port)
87+
}
88+
end
89+
90+
describe "for an TCPServer#accept socket" do
91+
before :each do
92+
@client = TCPSocket.new('127.0.0.1', @port)
93+
end
94+
95+
after :each do
96+
@client.close if @client && !@client.closed?
97+
end
98+
99+
it_behaves_like :socket_do_not_reverse_lookup, -> {
100+
@server.accept
101+
}
102+
end
103+
end

0 commit comments

Comments
 (0)