Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(396)

Side by Side Diff: net/base/single_request_host_resolver_unittest.cc

Issue 8549004: base::Bind: Convert HostResolver::Resolve. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/base/single_request_host_resolver.cc ('k') | net/curvecp/test_client.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/base/single_request_host_resolver.h" 5 #include "net/base/single_request_host_resolver.h"
6 6
7 #include "net/base/address_list.h" 7 #include "net/base/address_list.h"
8 #include "net/base/mock_host_resolver.h" 8 #include "net/base/mock_host_resolver.h"
9 #include "net/base/net_errors.h" 9 #include "net/base/net_errors.h"
10 #include "net/base/net_log.h" 10 #include "net/base/net_log.h"
(...skipping 14 matching lines...) Expand all
25 virtual ~HangingHostResolver() { 25 virtual ~HangingHostResolver() {
26 EXPECT_TRUE(!has_outstanding_request()); 26 EXPECT_TRUE(!has_outstanding_request());
27 } 27 }
28 28
29 bool has_outstanding_request() const { 29 bool has_outstanding_request() const {
30 return outstanding_request_ != NULL; 30 return outstanding_request_ != NULL;
31 } 31 }
32 32
33 virtual int Resolve(const RequestInfo& info, 33 virtual int Resolve(const RequestInfo& info,
34 AddressList* addresses, 34 AddressList* addresses,
35 OldCompletionCallback* callback, 35 const CompletionCallback& callback,
36 RequestHandle* out_req, 36 RequestHandle* out_req,
37 const BoundNetLog& net_log) OVERRIDE { 37 const BoundNetLog& net_log) OVERRIDE {
38 EXPECT_FALSE(has_outstanding_request()); 38 EXPECT_FALSE(has_outstanding_request());
39 outstanding_request_ = reinterpret_cast<RequestHandle>(0x1234); 39 outstanding_request_ = reinterpret_cast<RequestHandle>(0x1234);
40 *out_req = outstanding_request_; 40 *out_req = outstanding_request_;
41 41
42 // Never complete this request! Caller is expected to cancel it 42 // Never complete this request! Caller is expected to cancel it
43 // before destroying the resolver. 43 // before destroying the resolver.
44 return ERR_IO_PENDING; 44 return ERR_IO_PENDING;
45 } 45 }
(...skipping 21 matching lines...) Expand all
67 TEST(SingleRequestHostResolverTest, NormalResolve) { 67 TEST(SingleRequestHostResolverTest, NormalResolve) {
68 // Create a host resolver dependency that returns address "199.188.1.166" 68 // Create a host resolver dependency that returns address "199.188.1.166"
69 // for resolutions of "watsup". 69 // for resolutions of "watsup".
70 MockHostResolver resolver; 70 MockHostResolver resolver;
71 resolver.rules()->AddIPLiteralRule("watsup", "199.188.1.166", ""); 71 resolver.rules()->AddIPLiteralRule("watsup", "199.188.1.166", "");
72 72
73 SingleRequestHostResolver single_request_resolver(&resolver); 73 SingleRequestHostResolver single_request_resolver(&resolver);
74 74
75 // Resolve "watsup:90" using our SingleRequestHostResolver. 75 // Resolve "watsup:90" using our SingleRequestHostResolver.
76 AddressList addrlist; 76 AddressList addrlist;
77 TestOldCompletionCallback callback; 77 TestCompletionCallback callback;
78 HostResolver::RequestInfo request(HostPortPair("watsup", 90)); 78 HostResolver::RequestInfo request(HostPortPair("watsup", 90));
79 int rv = single_request_resolver.Resolve( 79 int rv = single_request_resolver.Resolve(
80 request, &addrlist, &callback, BoundNetLog()); 80 request, &addrlist, callback.callback(), BoundNetLog());
81 EXPECT_EQ(ERR_IO_PENDING, rv); 81 EXPECT_EQ(ERR_IO_PENDING, rv);
82 EXPECT_EQ(OK, callback.WaitForResult()); 82 EXPECT_EQ(OK, callback.WaitForResult());
83 83
84 // Verify that the result is what we specified in the MockHostResolver. 84 // Verify that the result is what we specified in the MockHostResolver.
85 EXPECT_EQ("199.188.1.166", NetAddressToString(addrlist.head())); 85 EXPECT_EQ("199.188.1.166", NetAddressToString(addrlist.head()));
86 } 86 }
87 87
88 // Test that the Cancel() method cancels any outstanding request. 88 // Test that the Cancel() method cancels any outstanding request.
89 TEST(SingleRequestHostResolverTest, Cancel) { 89 TEST(SingleRequestHostResolverTest, Cancel) {
90 HangingHostResolver resolver; 90 HangingHostResolver resolver;
91 91
92 { 92 {
93 SingleRequestHostResolver single_request_resolver(&resolver); 93 SingleRequestHostResolver single_request_resolver(&resolver);
94 94
95 // Resolve "watsup:90" using our SingleRequestHostResolver. 95 // Resolve "watsup:90" using our SingleRequestHostResolver.
96 AddressList addrlist; 96 AddressList addrlist;
97 TestOldCompletionCallback callback; 97 TestCompletionCallback callback;
98 HostResolver::RequestInfo request(HostPortPair("watsup", 90)); 98 HostResolver::RequestInfo request(HostPortPair("watsup", 90));
99 int rv = single_request_resolver.Resolve( 99 int rv = single_request_resolver.Resolve(
100 request, &addrlist, &callback, BoundNetLog()); 100 request, &addrlist, callback.callback(), BoundNetLog());
101 EXPECT_EQ(ERR_IO_PENDING, rv); 101 EXPECT_EQ(ERR_IO_PENDING, rv);
102 EXPECT_TRUE(resolver.has_outstanding_request()); 102 EXPECT_TRUE(resolver.has_outstanding_request());
103 } 103 }
104 104
105 // Now that the SingleRequestHostResolver has been destroyed, the 105 // Now that the SingleRequestHostResolver has been destroyed, the
106 // in-progress request should have been aborted. 106 // in-progress request should have been aborted.
107 EXPECT_FALSE(resolver.has_outstanding_request()); 107 EXPECT_FALSE(resolver.has_outstanding_request());
108 } 108 }
109 109
110 // Test that the Cancel() method is a no-op when there is no outstanding 110 // Test that the Cancel() method is a no-op when there is no outstanding
111 // request. 111 // request.
112 TEST(SingleRequestHostResolverTest, CancelWhileNoPendingRequest) { 112 TEST(SingleRequestHostResolverTest, CancelWhileNoPendingRequest) {
113 HangingHostResolver resolver; 113 HangingHostResolver resolver;
114 SingleRequestHostResolver single_request_resolver(&resolver); 114 SingleRequestHostResolver single_request_resolver(&resolver);
115 single_request_resolver.Cancel(); 115 single_request_resolver.Cancel();
116 116
117 // To pass, HangingHostResolver should not have received a cancellation 117 // To pass, HangingHostResolver should not have received a cancellation
118 // request (since there is nothing to cancel). If it does, it will crash. 118 // request (since there is nothing to cancel). If it does, it will crash.
119 } 119 }
120 120
121 } // namespace 121 } // namespace
122 122
123 } // namespace net 123 } // namespace net
OLDNEW
« no previous file with comments | « net/base/single_request_host_resolver.cc ('k') | net/curvecp/test_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698