OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "android_webview/browser/net/android_stream_reader_url_request_job.h" | 5 #include "android_webview/browser/net/android_stream_reader_url_request_job.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "android_webview/browser/input_stream.h" | 10 #include "android_webview/browser/input_stream.h" |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 .WillOnce(Return(0)); | 247 .WillOnce(Return(0)); |
248 EXPECT_CALL(*stream_reader, ReadRawData(NotNull(), Gt(0))) | 248 EXPECT_CALL(*stream_reader, ReadRawData(NotNull(), Gt(0))) |
249 .WillOnce(Return(0)); | 249 .WillOnce(Return(0)); |
250 } | 250 } |
251 | 251 |
252 SetUpTestJob(std::move(stream_reader)); | 252 SetUpTestJob(std::move(stream_reader)); |
253 | 253 |
254 req_->Start(); | 254 req_->Start(); |
255 | 255 |
256 // The TestDelegate will quit the message loop on request completion. | 256 // The TestDelegate will quit the message loop on request completion. |
257 base::MessageLoop::current()->Run(); | 257 base::RunLoop().Run(); |
258 | 258 |
259 EXPECT_FALSE(url_request_delegate_.request_failed()); | 259 EXPECT_FALSE(url_request_delegate_.request_failed()); |
260 EXPECT_EQ(1, network_delegate_.completed_requests()); | 260 EXPECT_EQ(1, network_delegate_.completed_requests()); |
261 EXPECT_EQ(0, network_delegate_.error_count()); | 261 EXPECT_EQ(0, network_delegate_.error_count()); |
262 EXPECT_EQ(200, req_->GetResponseCode()); | 262 EXPECT_EQ(200, req_->GetResponseCode()); |
263 } | 263 } |
264 | 264 |
265 TEST_F(AndroidStreamReaderURLRequestJobTest, ReadWithNullStream) { | 265 TEST_F(AndroidStreamReaderURLRequestJobTest, ReadWithNullStream) { |
266 SetUpTestJob(nullptr, base::MakeUnique<NullStreamReaderDelegate>()); | 266 SetUpTestJob(nullptr, base::MakeUnique<NullStreamReaderDelegate>()); |
267 req_->Start(); | 267 req_->Start(); |
268 | 268 |
269 // The TestDelegate will quit the message loop on request completion. | 269 // The TestDelegate will quit the message loop on request completion. |
270 base::MessageLoop::current()->Run(); | 270 base::RunLoop().Run(); |
271 | 271 |
272 // The request_failed() method is named confusingly but all it checks is | 272 // The request_failed() method is named confusingly but all it checks is |
273 // whether the request got as far as calling NotifyHeadersComplete. | 273 // whether the request got as far as calling NotifyHeadersComplete. |
274 EXPECT_FALSE(url_request_delegate_.request_failed()); | 274 EXPECT_FALSE(url_request_delegate_.request_failed()); |
275 EXPECT_EQ(1, network_delegate_.completed_requests()); | 275 EXPECT_EQ(1, network_delegate_.completed_requests()); |
276 // A null input stream shouldn't result in an error. See crbug.com/180950. | 276 // A null input stream shouldn't result in an error. See crbug.com/180950. |
277 EXPECT_EQ(0, network_delegate_.error_count()); | 277 EXPECT_EQ(0, network_delegate_.error_count()); |
278 EXPECT_EQ(404, req_->GetResponseCode()); | 278 EXPECT_EQ(404, req_->GetResponseCode()); |
279 } | 279 } |
280 | 280 |
281 TEST_F(AndroidStreamReaderURLRequestJobTest, ModifyHeadersAndStatus) { | 281 TEST_F(AndroidStreamReaderURLRequestJobTest, ModifyHeadersAndStatus) { |
282 SetUpTestJob(nullptr, base::MakeUnique<HeaderAlteringStreamReaderDelegate>()); | 282 SetUpTestJob(nullptr, base::MakeUnique<HeaderAlteringStreamReaderDelegate>()); |
283 req_->Start(); | 283 req_->Start(); |
284 | 284 |
285 // The TestDelegate will quit the message loop on request completion. | 285 // The TestDelegate will quit the message loop on request completion. |
286 base::MessageLoop::current()->Run(); | 286 base::RunLoop().Run(); |
287 | 287 |
288 // The request_failed() method is named confusingly but all it checks is | 288 // The request_failed() method is named confusingly but all it checks is |
289 // whether the request got as far as calling NotifyHeadersComplete. | 289 // whether the request got as far as calling NotifyHeadersComplete. |
290 EXPECT_FALSE(url_request_delegate_.request_failed()); | 290 EXPECT_FALSE(url_request_delegate_.request_failed()); |
291 EXPECT_EQ(1, network_delegate_.completed_requests()); | 291 EXPECT_EQ(1, network_delegate_.completed_requests()); |
292 // A null input stream shouldn't result in an error. See crbug.com/180950. | 292 // A null input stream shouldn't result in an error. See crbug.com/180950. |
293 EXPECT_EQ(0, network_delegate_.error_count()); | 293 EXPECT_EQ(0, network_delegate_.error_count()); |
294 EXPECT_EQ(HeaderAlteringStreamReaderDelegate::kResponseCode, | 294 EXPECT_EQ(HeaderAlteringStreamReaderDelegate::kResponseCode, |
295 req_->GetResponseCode()); | 295 req_->GetResponseCode()); |
296 EXPECT_EQ(HeaderAlteringStreamReaderDelegate::kStatusLine, | 296 EXPECT_EQ(HeaderAlteringStreamReaderDelegate::kStatusLine, |
(...skipping 24 matching lines...) Expand all Loading... |
321 .WillOnce(Return(bytes_to_read/2)); | 321 .WillOnce(Return(bytes_to_read/2)); |
322 EXPECT_CALL(*stream_reader, ReadRawData(NotNull(), Ge(bytes_to_read))) | 322 EXPECT_CALL(*stream_reader, ReadRawData(NotNull(), Ge(bytes_to_read))) |
323 .WillOnce(Return(0)); | 323 .WillOnce(Return(0)); |
324 } | 324 } |
325 | 325 |
326 SetUpTestJob(std::move(stream_reader)); | 326 SetUpTestJob(std::move(stream_reader)); |
327 | 327 |
328 SetRange(req_.get(), offset, bytes_available); | 328 SetRange(req_.get(), offset, bytes_available); |
329 req_->Start(); | 329 req_->Start(); |
330 | 330 |
331 base::MessageLoop::current()->Run(); | 331 base::RunLoop().Run(); |
332 | 332 |
333 EXPECT_FALSE(url_request_delegate_.request_failed()); | 333 EXPECT_FALSE(url_request_delegate_.request_failed()); |
334 EXPECT_EQ(bytes_to_read, url_request_delegate_.bytes_received()); | 334 EXPECT_EQ(bytes_to_read, url_request_delegate_.bytes_received()); |
335 EXPECT_EQ(1, network_delegate_.completed_requests()); | 335 EXPECT_EQ(1, network_delegate_.completed_requests()); |
336 EXPECT_EQ(0, network_delegate_.error_count()); | 336 EXPECT_EQ(0, network_delegate_.error_count()); |
337 } | 337 } |
338 | 338 |
339 TEST_F(AndroidStreamReaderURLRequestJobTest, | 339 TEST_F(AndroidStreamReaderURLRequestJobTest, |
340 ReadStreamWithMoreAvailableThanActual) { | 340 ReadStreamWithMoreAvailableThanActual) { |
341 const int bytes_available_reported = 190; | 341 const int bytes_available_reported = 190; |
(...skipping 10 matching lines...) Expand all Loading... |
352 .WillOnce(Return(bytes_available)); | 352 .WillOnce(Return(bytes_available)); |
353 EXPECT_CALL(*stream_reader, ReadRawData(NotNull(), Ge(bytes_to_read))) | 353 EXPECT_CALL(*stream_reader, ReadRawData(NotNull(), Ge(bytes_to_read))) |
354 .WillOnce(Return(0)); | 354 .WillOnce(Return(0)); |
355 } | 355 } |
356 | 356 |
357 SetUpTestJob(std::move(stream_reader)); | 357 SetUpTestJob(std::move(stream_reader)); |
358 | 358 |
359 SetRange(req_.get(), offset, bytes_available_reported); | 359 SetRange(req_.get(), offset, bytes_available_reported); |
360 req_->Start(); | 360 req_->Start(); |
361 | 361 |
362 base::MessageLoop::current()->Run(); | 362 base::RunLoop().Run(); |
363 | 363 |
364 EXPECT_FALSE(url_request_delegate_.request_failed()); | 364 EXPECT_FALSE(url_request_delegate_.request_failed()); |
365 EXPECT_EQ(bytes_to_read, url_request_delegate_.bytes_received()); | 365 EXPECT_EQ(bytes_to_read, url_request_delegate_.bytes_received()); |
366 EXPECT_EQ(1, network_delegate_.completed_requests()); | 366 EXPECT_EQ(1, network_delegate_.completed_requests()); |
367 EXPECT_EQ(0, network_delegate_.error_count()); | 367 EXPECT_EQ(0, network_delegate_.error_count()); |
368 } | 368 } |
369 | 369 |
370 TEST_F(AndroidStreamReaderURLRequestJobTest, DeleteJobMidWaySeek) { | 370 TEST_F(AndroidStreamReaderURLRequestJobTest, DeleteJobMidWaySeek) { |
371 const int offset = 20; | 371 const int offset = 20; |
372 const int bytes_available = 128; | 372 const int bytes_available = 128; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 req_->Start(); | 410 req_->Start(); |
411 | 411 |
412 loop.Run(); | 412 loop.Run(); |
413 | 413 |
414 EXPECT_EQ(0, network_delegate_.completed_requests()); | 414 EXPECT_EQ(0, network_delegate_.completed_requests()); |
415 req_->Cancel(); | 415 req_->Cancel(); |
416 EXPECT_EQ(1, network_delegate_.completed_requests()); | 416 EXPECT_EQ(1, network_delegate_.completed_requests()); |
417 } | 417 } |
418 | 418 |
419 } // namespace android_webview | 419 } // namespace android_webview |
OLD | NEW |