Skip to content

Commit 6bb9fa6

Browse files
committed
Merge pull request #24 from danabr/default_search_behaviour
search should return result set if :return_result is unspecified (nil).
2 parents 5344d73 + 2a74577 commit 6bb9fa6

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

lib/net/ldap.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,8 @@ def search(args = {})
619619
end
620620

621621
args[:base] ||= @base
622-
result_set = args[:return_result] == false ? nil : []
622+
return_result_set = args[:return_result] != false
623+
result_set = return_result_set ? [] : nil
623624

624625
if @open_connection
625626
@result = @open_connection.search(args) { |entry|
@@ -642,7 +643,7 @@ def search(args = {})
642643
end
643644
end
644645

645-
if args[:return_result]
646+
if return_result_set
646647
@result == 0 ? result_set : nil
647648
else
648649
@result == 0

spec/unit/ldap/search_spec.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,24 @@ def search(args)
1313
@connection.instance_variable_set(:@open_connection, FakeConnection.new)
1414
end
1515

16-
context "when returning result set" do
16+
context "when :return_result => true" do
1717
it "should return nil upon error" do
1818
result_set = @connection.search(:return_result => true)
1919
result_set.should be_nil
2020
end
2121
end
2222

23-
context "when returning boolean" do
23+
context "when :return_result => false" do
2424
it "should return false upon error" do
2525
success = @connection.search(:return_result => false)
2626
success.should == false
2727
end
2828
end
29+
30+
context "When :return_result is not given" do
31+
it "should return nil upon error" do
32+
result_set = @connection.search
33+
result_set.should be_nil
34+
end
35+
end
2936
end

0 commit comments

Comments
 (0)