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

Side by Side Diff: mojo/services/network/url_loader_impl_apptest.cc

Issue 1539863002: Convert Pass()→std::move() in mojo/services/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix missing forward declare that was masked by pre-existing incorrect #include ordering. Created 5 years 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <utility>
6
5 #include "base/bind.h" 7 #include "base/bind.h"
6 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
7 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
8 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
9 #include "base/run_loop.h" 11 #include "base/run_loop.h"
10 #include "mojo/application/public/cpp/application_test_base.h" 12 #include "mojo/application/public/cpp/application_test_base.h"
11 #include "mojo/message_pump/message_pump_mojo.h" 13 #include "mojo/message_pump/message_pump_mojo.h"
12 #include "mojo/public/cpp/bindings/interface_request.h" 14 #include "mojo/public/cpp/bindings/interface_request.h"
13 #include "mojo/services/network/network_context.h" 15 #include "mojo/services/network/network_context.h"
14 #include "mojo/services/network/url_loader_impl.h" 16 #include "mojo/services/network/url_loader_impl.h"
15 #include "net/base/net_errors.h" 17 #include "net/base/net_errors.h"
16 #include "net/url_request/url_request_job.h" 18 #include "net/url_request/url_request_job.h"
17 #include "net/url_request/url_request_job_factory_impl.h" 19 #include "net/url_request/url_request_job_factory_impl.h"
18 #include "net/url_request/url_request_status.h" 20 #include "net/url_request/url_request_status.h"
19 #include "net/url_request/url_request_test_util.h" 21 #include "net/url_request/url_request_test_util.h"
20 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
21 23
22 namespace mojo { 24 namespace mojo {
23 25
24 class TestURLRequestJob; 26 class TestURLRequestJob;
25 27
26 TestURLRequestJob* g_current_job = nullptr; 28 TestURLRequestJob* g_current_job = nullptr;
27 29
28 template <class A> 30 template <class A>
29 void PassA(A* destination, A value) { 31 void PassA(A* destination, A value) {
30 *destination = value.Pass(); 32 *destination = std::move(value);
31 } 33 }
32 34
33 class TestURLRequestJob : public net::URLRequestJob { 35 class TestURLRequestJob : public net::URLRequestJob {
34 public: 36 public:
35 enum Status { CREATED, STARTED, READING, COMPLETED }; 37 enum Status { CREATED, STARTED, READING, COMPLETED };
36 38
37 TestURLRequestJob(net::URLRequest* request, 39 TestURLRequestJob(net::URLRequest* request,
38 net::NetworkDelegate* network_delegate) 40 net::NetworkDelegate* network_delegate)
39 : net::URLRequestJob(request, network_delegate), 41 : net::URLRequestJob(request, network_delegate),
40 status_(CREATED), 42 status_(CREATED),
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 void SetUp() override { 118 void SetUp() override {
117 ApplicationTestBase::SetUp(); 119 ApplicationTestBase::SetUp();
118 120
119 scoped_ptr<net::TestURLRequestContext> url_request_context( 121 scoped_ptr<net::TestURLRequestContext> url_request_context(
120 new net::TestURLRequestContext(true)); 122 new net::TestURLRequestContext(true));
121 ASSERT_TRUE(url_request_job_factory_.SetProtocolHandler( 123 ASSERT_TRUE(url_request_job_factory_.SetProtocolHandler(
122 "http", make_scoped_ptr(new TestProtocolHandler( 124 "http", make_scoped_ptr(new TestProtocolHandler(
123 wait_for_request_.QuitClosure())))); 125 wait_for_request_.QuitClosure()))));
124 url_request_context->set_job_factory(&url_request_job_factory_); 126 url_request_context->set_job_factory(&url_request_job_factory_);
125 url_request_context->Init(); 127 url_request_context->Init();
126 network_context_.reset(new NetworkContext(url_request_context.Pass())); 128 network_context_.reset(new NetworkContext(std::move(url_request_context)));
127 MessagePipe pipe; 129 MessagePipe pipe;
128 new URLLoaderImpl(network_context_.get(), 130 new URLLoaderImpl(network_context_.get(),
129 GetProxy(&url_loader_proxy_), 131 GetProxy(&url_loader_proxy_),
130 make_scoped_ptr<mojo::AppRefCount>(nullptr)); 132 make_scoped_ptr<mojo::AppRefCount>(nullptr));
131 EXPECT_TRUE(IsUrlLoaderValid()); 133 EXPECT_TRUE(IsUrlLoaderValid());
132 } 134 }
133 135
134 bool IsUrlLoaderValid() { 136 bool IsUrlLoaderValid() {
135 return network_context_->GetURLLoaderCountForTesting() > 0u; 137 return network_context_->GetURLLoaderCountForTesting() > 0u;
136 } 138 }
(...skipping 11 matching lines...) Expand all
148 150
149 while (IsUrlLoaderValid()) 151 while (IsUrlLoaderValid())
150 base::RunLoop().RunUntilIdle(); 152 base::RunLoop().RunUntilIdle();
151 } 153 }
152 154
153 TEST_F(UrlLoaderImplTest, ClosedWhileWaitingOnTheNetwork) { 155 TEST_F(UrlLoaderImplTest, ClosedWhileWaitingOnTheNetwork) {
154 URLRequestPtr request(URLRequest::New()); 156 URLRequestPtr request(URLRequest::New());
155 request->url = "http://example.com"; 157 request->url = "http://example.com";
156 158
157 URLResponsePtr response; 159 URLResponsePtr response;
158 url_loader_proxy_->Start(request.Pass(), 160 url_loader_proxy_->Start(std::move(request),
159 base::Bind(&PassA<URLResponsePtr>, &response)); 161 base::Bind(&PassA<URLResponsePtr>, &response));
160 wait_for_request_.Run(); 162 wait_for_request_.Run();
161 163
162 EXPECT_TRUE(IsUrlLoaderValid()); 164 EXPECT_TRUE(IsUrlLoaderValid());
163 EXPECT_FALSE(response); 165 EXPECT_FALSE(response);
164 ASSERT_TRUE(g_current_job); 166 ASSERT_TRUE(g_current_job);
165 167
166 g_current_job->NotifyHeadersComplete(); 168 g_current_job->NotifyHeadersComplete();
167 base::RunLoop().RunUntilIdle(); 169 base::RunLoop().RunUntilIdle();
168 170
(...skipping 10 matching lines...) Expand all
179 181
180 while (IsUrlLoaderValid()) 182 while (IsUrlLoaderValid())
181 base::RunLoop().RunUntilIdle(); 183 base::RunLoop().RunUntilIdle();
182 } 184 }
183 185
184 TEST_F(UrlLoaderImplTest, ClosedWhileWaitingOnThePipeToBeWriteable) { 186 TEST_F(UrlLoaderImplTest, ClosedWhileWaitingOnThePipeToBeWriteable) {
185 URLRequestPtr request(URLRequest::New()); 187 URLRequestPtr request(URLRequest::New());
186 request->url = "http://example.com"; 188 request->url = "http://example.com";
187 189
188 URLResponsePtr response; 190 URLResponsePtr response;
189 url_loader_proxy_->Start(request.Pass(), 191 url_loader_proxy_->Start(std::move(request),
190 base::Bind(&PassA<URLResponsePtr>, &response)); 192 base::Bind(&PassA<URLResponsePtr>, &response));
191 wait_for_request_.Run(); 193 wait_for_request_.Run();
192 194
193 EXPECT_TRUE(IsUrlLoaderValid()); 195 EXPECT_TRUE(IsUrlLoaderValid());
194 EXPECT_FALSE(response); 196 EXPECT_FALSE(response);
195 ASSERT_TRUE(g_current_job); 197 ASSERT_TRUE(g_current_job);
196 198
197 g_current_job->NotifyHeadersComplete(); 199 g_current_job->NotifyHeadersComplete();
198 while (g_current_job->status() != TestURLRequestJob::READING) 200 while (g_current_job->status() != TestURLRequestJob::READING)
199 base::RunLoop().RunUntilIdle(); 201 base::RunLoop().RunUntilIdle();
(...skipping 20 matching lines...) Expand all
220 222
221 while (IsUrlLoaderValid()) 223 while (IsUrlLoaderValid())
222 base::RunLoop().RunUntilIdle(); 224 base::RunLoop().RunUntilIdle();
223 } 225 }
224 226
225 TEST_F(UrlLoaderImplTest, RequestCompleted) { 227 TEST_F(UrlLoaderImplTest, RequestCompleted) {
226 URLRequestPtr request(URLRequest::New()); 228 URLRequestPtr request(URLRequest::New());
227 request->url = "http://example.com"; 229 request->url = "http://example.com";
228 230
229 URLResponsePtr response; 231 URLResponsePtr response;
230 url_loader_proxy_->Start(request.Pass(), 232 url_loader_proxy_->Start(std::move(request),
231 base::Bind(&PassA<URLResponsePtr>, &response)); 233 base::Bind(&PassA<URLResponsePtr>, &response));
232 wait_for_request_.Run(); 234 wait_for_request_.Run();
233 235
234 EXPECT_TRUE(IsUrlLoaderValid()); 236 EXPECT_TRUE(IsUrlLoaderValid());
235 EXPECT_FALSE(response); 237 EXPECT_FALSE(response);
236 ASSERT_TRUE(g_current_job); 238 ASSERT_TRUE(g_current_job);
237 239
238 g_current_job->NotifyHeadersComplete(); 240 g_current_job->NotifyHeadersComplete();
239 base::RunLoop().RunUntilIdle(); 241 base::RunLoop().RunUntilIdle();
240 242
(...skipping 10 matching lines...) Expand all
251 253
252 while (IsUrlLoaderValid()) 254 while (IsUrlLoaderValid())
253 base::RunLoop().RunUntilIdle(); 255 base::RunLoop().RunUntilIdle();
254 } 256 }
255 257
256 TEST_F(UrlLoaderImplTest, RequestFailed) { 258 TEST_F(UrlLoaderImplTest, RequestFailed) {
257 URLRequestPtr request(URLRequest::New()); 259 URLRequestPtr request(URLRequest::New());
258 request->url = "http://example.com"; 260 request->url = "http://example.com";
259 261
260 URLResponsePtr response; 262 URLResponsePtr response;
261 url_loader_proxy_->Start(request.Pass(), 263 url_loader_proxy_->Start(std::move(request),
262 base::Bind(&PassA<URLResponsePtr>, &response)); 264 base::Bind(&PassA<URLResponsePtr>, &response));
263 wait_for_request_.Run(); 265 wait_for_request_.Run();
264 266
265 EXPECT_TRUE(IsUrlLoaderValid()); 267 EXPECT_TRUE(IsUrlLoaderValid());
266 EXPECT_FALSE(response); 268 EXPECT_FALSE(response);
267 ASSERT_TRUE(g_current_job); 269 ASSERT_TRUE(g_current_job);
268 270
269 g_current_job->NotifyHeadersComplete(); 271 g_current_job->NotifyHeadersComplete();
270 base::RunLoop().RunUntilIdle(); 272 base::RunLoop().RunUntilIdle();
271 273
272 EXPECT_TRUE(IsUrlLoaderValid()); 274 EXPECT_TRUE(IsUrlLoaderValid());
273 EXPECT_TRUE(response); 275 EXPECT_TRUE(response);
274 EXPECT_EQ(TestURLRequestJob::READING, g_current_job->status()); 276 EXPECT_EQ(TestURLRequestJob::READING, g_current_job->status());
275 277
276 url_loader_proxy_.reset(); 278 url_loader_proxy_.reset();
277 base::RunLoop().RunUntilIdle(); 279 base::RunLoop().RunUntilIdle();
278 280
279 EXPECT_TRUE(IsUrlLoaderValid()); 281 EXPECT_TRUE(IsUrlLoaderValid());
280 282
281 g_current_job->NotifyReadComplete(-1); 283 g_current_job->NotifyReadComplete(-1);
282 284
283 while (IsUrlLoaderValid()) 285 while (IsUrlLoaderValid())
284 base::RunLoop().RunUntilIdle(); 286 base::RunLoop().RunUntilIdle();
285 } 287 }
286 288
287 } // namespace mojo 289 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/network/url_loader_impl.cc ('k') | mojo/services/network/web_socket_factory_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698