Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/offline_pages/background/request_queue_store.h" | 5 #include "components/offline_pages/background/request_queue_store.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 57 RequestQueueStoreTestBase(); | 57 RequestQueueStoreTestBase(); |
| 58 | 58 |
| 59 // Test overrides. | 59 // Test overrides. |
| 60 void TearDown() override; | 60 void TearDown() override; |
| 61 | 61 |
| 62 void PumpLoop(); | 62 void PumpLoop(); |
| 63 void ClearResults(); | 63 void ClearResults(); |
| 64 | 64 |
| 65 // Callback used for get requests. | 65 // Callback used for get requests. |
| 66 void GetRequestsDone(bool result, | 66 void GetRequestsDone(bool result, |
| 67 const std::vector<SavePageRequest>& requests); | 67 std::vector<std::unique_ptr<SavePageRequest>> requests); |
| 68 // Callback used for add/update request. | 68 // Callback used for add/update request. |
| 69 void AddOrUpdateDone(UpdateStatus result); | 69 void AddOrUpdateDone(UpdateStatus result); |
| 70 void UpdateMultipleRequestsDone( | 70 void UpdateMultipleRequestsDone( |
| 71 const RequestQueue::UpdateMultipleRequestResults& results, | 71 const RequestQueue::UpdateMultipleRequestResults& results, |
| 72 const std::vector<SavePageRequest>& requests); | 72 std::vector<std::unique_ptr<SavePageRequest>> requests); |
| 73 // Callback used for remove requests. | 73 // Callback used for remove requests. |
| 74 void RemoveDone(const RequestQueue::UpdateMultipleRequestResults& results, | 74 void RemoveDone(const RequestQueue::UpdateMultipleRequestResults& results, |
| 75 const std::vector<SavePageRequest>& requests); | 75 std::vector<std::unique_ptr<SavePageRequest>> requests); |
| 76 // Callback used for reset. | 76 // Callback used for reset. |
| 77 void ResetDone(bool result); | 77 void ResetDone(bool result); |
| 78 | 78 |
| 79 LastResult last_result() const { return last_result_; } | 79 LastResult last_result() const { return last_result_; } |
| 80 UpdateStatus last_update_status() const { return last_update_status_; } | 80 UpdateStatus last_update_status() const { return last_update_status_; } |
| 81 const RequestQueue::UpdateMultipleRequestResults& | 81 const RequestQueue::UpdateMultipleRequestResults& |
| 82 last_multiple_update_results() const { | 82 last_multiple_update_results() const { |
| 83 return last_multiple_update_results_; | 83 return last_multiple_update_results_; |
| 84 } | 84 } |
| 85 const RequestQueue::UpdateMultipleRequestResults& last_remove_results() | 85 const RequestQueue::UpdateMultipleRequestResults& last_remove_results() |
| 86 const { | 86 const { |
| 87 return last_remove_results_; | 87 return last_remove_results_; |
| 88 } | 88 } |
| 89 const std::vector<SavePageRequest>& last_requests() const { | 89 const std::vector<std::unique_ptr<SavePageRequest>>& last_requests() const { |
| 90 return last_requests_; | 90 return last_requests_; |
| 91 } | 91 } |
| 92 | 92 |
| 93 protected: | 93 protected: |
| 94 base::ScopedTempDir temp_directory_; | 94 base::ScopedTempDir temp_directory_; |
| 95 | 95 |
| 96 private: | 96 private: |
| 97 LastResult last_result_; | 97 LastResult last_result_; |
| 98 UpdateStatus last_update_status_; | 98 UpdateStatus last_update_status_; |
| 99 RequestQueue::UpdateMultipleRequestResults last_multiple_update_results_; | 99 RequestQueue::UpdateMultipleRequestResults last_multiple_update_results_; |
| 100 RequestQueue::UpdateMultipleRequestResults last_remove_results_; | 100 RequestQueue::UpdateMultipleRequestResults last_remove_results_; |
| 101 std::vector<SavePageRequest> last_requests_; | 101 std::vector<std::unique_ptr<SavePageRequest>> last_requests_; |
| 102 | 102 |
| 103 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; | 103 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
| 104 base::ThreadTaskRunnerHandle task_runner_handle_; | 104 base::ThreadTaskRunnerHandle task_runner_handle_; |
| 105 }; | 105 }; |
| 106 | 106 |
| 107 RequestQueueStoreTestBase::RequestQueueStoreTestBase() | 107 RequestQueueStoreTestBase::RequestQueueStoreTestBase() |
| 108 : last_result_(LastResult::kNone), | 108 : last_result_(LastResult::kNone), |
| 109 last_update_status_(UpdateStatus::FAILED), | 109 last_update_status_(UpdateStatus::FAILED), |
| 110 task_runner_(new base::TestSimpleTaskRunner), | 110 task_runner_(new base::TestSimpleTaskRunner), |
| 111 task_runner_handle_(task_runner_) { | 111 task_runner_handle_(task_runner_) { |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 123 | 123 |
| 124 void RequestQueueStoreTestBase::ClearResults() { | 124 void RequestQueueStoreTestBase::ClearResults() { |
| 125 last_result_ = LastResult::kNone; | 125 last_result_ = LastResult::kNone; |
| 126 last_update_status_ = UpdateStatus::FAILED; | 126 last_update_status_ = UpdateStatus::FAILED; |
| 127 last_remove_results_.clear(); | 127 last_remove_results_.clear(); |
| 128 last_requests_.clear(); | 128 last_requests_.clear(); |
| 129 } | 129 } |
| 130 | 130 |
| 131 void RequestQueueStoreTestBase::GetRequestsDone( | 131 void RequestQueueStoreTestBase::GetRequestsDone( |
| 132 bool result, | 132 bool result, |
| 133 const std::vector<SavePageRequest>& requests) { | 133 std::vector<std::unique_ptr<SavePageRequest>> requests) { |
| 134 last_result_ = result ? LastResult::kTrue : LastResult::kFalse; | 134 last_result_ = result ? LastResult::kTrue : LastResult::kFalse; |
| 135 last_requests_ = requests; | 135 last_requests_ = std::move(requests); |
| 136 } | 136 } |
| 137 | 137 |
| 138 void RequestQueueStoreTestBase::AddOrUpdateDone(UpdateStatus status) { | 138 void RequestQueueStoreTestBase::AddOrUpdateDone(UpdateStatus status) { |
| 139 last_update_status_ = status; | 139 last_update_status_ = status; |
| 140 } | 140 } |
| 141 | 141 |
| 142 void RequestQueueStoreTestBase::UpdateMultipleRequestsDone( | 142 void RequestQueueStoreTestBase::UpdateMultipleRequestsDone( |
| 143 const RequestQueue::UpdateMultipleRequestResults& results, | 143 const RequestQueue::UpdateMultipleRequestResults& results, |
| 144 const std::vector<SavePageRequest>& requests) { | 144 std::vector<std::unique_ptr<SavePageRequest>> requests) { |
| 145 last_multiple_update_results_ = results; | 145 last_multiple_update_results_ = results; |
| 146 last_requests_ = requests; | 146 last_requests_ = std::move(requests); |
| 147 } | 147 } |
| 148 | 148 |
| 149 void RequestQueueStoreTestBase::RemoveDone( | 149 void RequestQueueStoreTestBase::RemoveDone( |
| 150 const RequestQueue::UpdateMultipleRequestResults& results, | 150 const RequestQueue::UpdateMultipleRequestResults& results, |
| 151 const std::vector<SavePageRequest>& requests) { | 151 std::vector<std::unique_ptr<SavePageRequest>> requests) { |
| 152 last_remove_results_ = results; | 152 last_remove_results_ = results; |
| 153 last_requests_ = requests; | 153 last_requests_ = std::move(requests); |
| 154 } | 154 } |
| 155 | 155 |
| 156 void RequestQueueStoreTestBase::ResetDone(bool result) { | 156 void RequestQueueStoreTestBase::ResetDone(bool result) { |
| 157 last_result_ = result ? LastResult::kTrue : LastResult::kFalse; | 157 last_result_ = result ? LastResult::kTrue : LastResult::kFalse; |
| 158 } | 158 } |
| 159 | 159 |
| 160 // Defines interface for the store factory. | 160 // Defines interface for the store factory. |
| 161 class RequestQueueStoreFactory { | 161 class RequestQueueStoreFactory { |
| 162 public: | 162 public: |
| 163 virtual RequestQueueStore* BuildStore(const base::FilePath& path) = 0; | 163 virtual RequestQueueStore* BuildStore(const base::FilePath& path) = 0; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 233 ASSERT_EQ(UpdateStatus::UPDATED, this->last_update_status()); | 233 ASSERT_EQ(UpdateStatus::UPDATED, this->last_update_status()); |
| 234 | 234 |
| 235 // Verifying get reqeust results after a request was added. | 235 // Verifying get reqeust results after a request was added. |
| 236 this->ClearResults(); | 236 this->ClearResults(); |
| 237 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, | 237 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, |
| 238 base::Unretained(this))); | 238 base::Unretained(this))); |
| 239 ASSERT_EQ(LastResult::kNone, this->last_result()); | 239 ASSERT_EQ(LastResult::kNone, this->last_result()); |
| 240 this->PumpLoop(); | 240 this->PumpLoop(); |
| 241 ASSERT_EQ(LastResult::kTrue, this->last_result()); | 241 ASSERT_EQ(LastResult::kTrue, this->last_result()); |
| 242 ASSERT_EQ(1ul, this->last_requests().size()); | 242 ASSERT_EQ(1ul, this->last_requests().size()); |
| 243 ASSERT_TRUE(request == this->last_requests()[0]); | 243 ASSERT_TRUE(request == *(this->last_requests()[0].get())); |
|
Bernhard Bauer
2016/09/08 09:01:58
I *think* the .get() is unnecessary -- you get the
Pete Williamson
2016/09/08 17:27:00
Done.
| |
| 244 } | 244 } |
| 245 | 245 |
| 246 TYPED_TEST(RequestQueueStoreTest, UpdateRequest) { | 246 TYPED_TEST(RequestQueueStoreTest, UpdateRequest) { |
| 247 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); | 247 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); |
| 248 base::Time creation_time = base::Time::Now(); | 248 base::Time creation_time = base::Time::Now(); |
| 249 SavePageRequest original_request( | 249 SavePageRequest original_request( |
| 250 kRequestId, kUrl, kClientId, creation_time, kUserRequested); | 250 kRequestId, kUrl, kClientId, creation_time, kUserRequested); |
| 251 store->AddOrUpdateRequest( | 251 store->AddOrUpdateRequest( |
| 252 original_request, base::Bind(&RequestQueueStoreTestBase::AddOrUpdateDone, | 252 original_request, base::Bind(&RequestQueueStoreTestBase::AddOrUpdateDone, |
| 253 base::Unretained(this))); | 253 base::Unretained(this))); |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 268 ASSERT_EQ(UpdateStatus::UPDATED, this->last_update_status()); | 268 ASSERT_EQ(UpdateStatus::UPDATED, this->last_update_status()); |
| 269 | 269 |
| 270 // Verifying get reqeust results after a request was updated. | 270 // Verifying get reqeust results after a request was updated. |
| 271 this->ClearResults(); | 271 this->ClearResults(); |
| 272 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, | 272 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, |
| 273 base::Unretained(this))); | 273 base::Unretained(this))); |
| 274 ASSERT_EQ(LastResult::kNone, this->last_result()); | 274 ASSERT_EQ(LastResult::kNone, this->last_result()); |
| 275 this->PumpLoop(); | 275 this->PumpLoop(); |
| 276 ASSERT_EQ(LastResult::kTrue, this->last_result()); | 276 ASSERT_EQ(LastResult::kTrue, this->last_result()); |
| 277 ASSERT_EQ(1ul, this->last_requests().size()); | 277 ASSERT_EQ(1ul, this->last_requests().size()); |
| 278 ASSERT_TRUE(updated_request == this->last_requests()[0]); | 278 ASSERT_TRUE(updated_request == *(this->last_requests()[0].get())); |
| 279 } | 279 } |
| 280 | 280 |
| 281 TYPED_TEST(RequestQueueStoreTest, RemoveRequests) { | 281 TYPED_TEST(RequestQueueStoreTest, RemoveRequests) { |
| 282 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); | 282 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); |
| 283 base::Time creation_time = base::Time::Now(); | 283 base::Time creation_time = base::Time::Now(); |
| 284 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, | 284 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, |
| 285 kUserRequested); | 285 kUserRequested); |
| 286 store->AddOrUpdateRequest( | 286 store->AddOrUpdateRequest( |
| 287 request1, base::Bind(&RequestQueueStoreTestBase::AddOrUpdateDone, | 287 request1, base::Bind(&RequestQueueStoreTestBase::AddOrUpdateDone, |
| 288 base::Unretained(this))); | 288 base::Unretained(this))); |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 299 base::Bind(&RequestQueueStoreTestBase::RemoveDone, | 299 base::Bind(&RequestQueueStoreTestBase::RemoveDone, |
| 300 base::Unretained(this))); | 300 base::Unretained(this))); |
| 301 ASSERT_EQ(0ul, this->last_remove_results().size()); | 301 ASSERT_EQ(0ul, this->last_remove_results().size()); |
| 302 this->PumpLoop(); | 302 this->PumpLoop(); |
| 303 ASSERT_EQ(2ul, this->last_remove_results().size()); | 303 ASSERT_EQ(2ul, this->last_remove_results().size()); |
| 304 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, | 304 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, |
| 305 this->last_remove_results().at(0).second); | 305 this->last_remove_results().at(0).second); |
| 306 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, | 306 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, |
| 307 this->last_remove_results().at(1).second); | 307 this->last_remove_results().at(1).second); |
| 308 ASSERT_EQ(2UL, this->last_requests().size()); | 308 ASSERT_EQ(2UL, this->last_requests().size()); |
| 309 ASSERT_EQ(kRequestId, this->last_requests().at(0).request_id()); | 309 ASSERT_EQ(kRequestId, this->last_requests().at(0)->request_id()); |
| 310 this->ClearResults(); | 310 this->ClearResults(); |
| 311 | 311 |
| 312 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, | 312 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, |
| 313 base::Unretained(this))); | 313 base::Unretained(this))); |
| 314 this->PumpLoop(); | 314 this->PumpLoop(); |
| 315 ASSERT_EQ(LastResult::kTrue, this->last_result()); | 315 ASSERT_EQ(LastResult::kTrue, this->last_result()); |
| 316 ASSERT_TRUE(this->last_requests().empty()); | 316 ASSERT_TRUE(this->last_requests().empty()); |
| 317 this->ClearResults(); | 317 this->ClearResults(); |
| 318 | 318 |
| 319 // Try to remove a request that is not in the queue. | 319 // Try to remove a request that is not in the queue. |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 351 request_ids, SavePageRequest::RequestState::PAUSED, | 351 request_ids, SavePageRequest::RequestState::PAUSED, |
| 352 base::Bind(&RequestQueueStoreTestBase::UpdateMultipleRequestsDone, | 352 base::Bind(&RequestQueueStoreTestBase::UpdateMultipleRequestsDone, |
| 353 base::Unretained(this))); | 353 base::Unretained(this))); |
| 354 ASSERT_EQ(LastResult::kNone, this->last_result()); | 354 ASSERT_EQ(LastResult::kNone, this->last_result()); |
| 355 this->PumpLoop(); | 355 this->PumpLoop(); |
| 356 | 356 |
| 357 // Verify pause succeeded | 357 // Verify pause succeeded |
| 358 ASSERT_EQ(1ul, this->last_multiple_update_results().size()); | 358 ASSERT_EQ(1ul, this->last_multiple_update_results().size()); |
| 359 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, | 359 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, |
| 360 this->last_multiple_update_results().at(0).second); | 360 this->last_multiple_update_results().at(0).second); |
| 361 ASSERT_EQ(kRequestId, this->last_requests().at(0).request_id()); | 361 ASSERT_EQ(kRequestId, this->last_requests().at(0)->request_id()); |
| 362 this->ClearResults(); | 362 this->ClearResults(); |
| 363 | 363 |
| 364 // Get the request from the queue to check it out | 364 // Get the request from the queue to check it out |
| 365 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, | 365 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, |
| 366 base::Unretained(this))); | 366 base::Unretained(this))); |
| 367 this->PumpLoop(); | 367 this->PumpLoop(); |
| 368 ASSERT_EQ(LastResult::kTrue, this->last_result()); | 368 ASSERT_EQ(LastResult::kTrue, this->last_result()); |
| 369 // The request should still be in the queue. | 369 // The request should still be in the queue. |
| 370 ASSERT_EQ(1UL, this->last_requests().size()); | 370 ASSERT_EQ(1UL, this->last_requests().size()); |
| 371 // Request 1 should be paused. | 371 // Request 1 should be paused. |
| 372 ASSERT_EQ(SavePageRequest::RequestState::PAUSED, | 372 ASSERT_EQ(SavePageRequest::RequestState::PAUSED, |
| 373 this->last_requests().at(0).request_state()); | 373 this->last_requests().at(0)->request_state()); |
| 374 this->ClearResults(); | 374 this->ClearResults(); |
| 375 | 375 |
| 376 // Now resume the same request we paused. | 376 // Now resume the same request we paused. |
| 377 store->ChangeRequestsState( | 377 store->ChangeRequestsState( |
| 378 request_ids, SavePageRequest::RequestState::AVAILABLE, | 378 request_ids, SavePageRequest::RequestState::AVAILABLE, |
| 379 base::Bind(&RequestQueueStoreTestBase::UpdateMultipleRequestsDone, | 379 base::Bind(&RequestQueueStoreTestBase::UpdateMultipleRequestsDone, |
| 380 base::Unretained(this))); | 380 base::Unretained(this))); |
| 381 ASSERT_EQ(LastResult::kNone, this->last_result()); | 381 ASSERT_EQ(LastResult::kNone, this->last_result()); |
| 382 this->PumpLoop(); | 382 this->PumpLoop(); |
| 383 | 383 |
| 384 // Verify resume succeeded. | 384 // Verify resume succeeded. |
| 385 ASSERT_EQ(1ul, this->last_multiple_update_results().size()); | 385 ASSERT_EQ(1ul, this->last_multiple_update_results().size()); |
| 386 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, | 386 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, |
| 387 this->last_multiple_update_results().at(0).second); | 387 this->last_multiple_update_results().at(0).second); |
| 388 ASSERT_EQ(kRequestId, this->last_requests().at(0).request_id()); | 388 ASSERT_EQ(kRequestId, this->last_requests().at(0)->request_id()); |
| 389 this->ClearResults(); | 389 this->ClearResults(); |
| 390 | 390 |
| 391 // Get the request from the queue to check it out | 391 // Get the request from the queue to check it out |
| 392 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, | 392 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, |
| 393 base::Unretained(this))); | 393 base::Unretained(this))); |
| 394 this->PumpLoop(); | 394 this->PumpLoop(); |
| 395 ASSERT_EQ(LastResult::kTrue, this->last_result()); | 395 ASSERT_EQ(LastResult::kTrue, this->last_result()); |
| 396 // The request should still be in the queue. | 396 // The request should still be in the queue. |
| 397 ASSERT_EQ(1UL, this->last_requests().size()); | 397 ASSERT_EQ(1UL, this->last_requests().size()); |
| 398 // Request 1 should be paused. | 398 // Request 1 should be paused. |
| 399 ASSERT_EQ(SavePageRequest::RequestState::AVAILABLE, | 399 ASSERT_EQ(SavePageRequest::RequestState::AVAILABLE, |
| 400 this->last_requests().at(0).request_state()); | 400 this->last_requests().at(0)->request_state()); |
| 401 this->ClearResults(); | 401 this->ClearResults(); |
| 402 } | 402 } |
| 403 | 403 |
| 404 TYPED_TEST(RequestQueueStoreTest, ResetStore) { | 404 TYPED_TEST(RequestQueueStoreTest, ResetStore) { |
| 405 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); | 405 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); |
| 406 base::Time creation_time = base::Time::Now(); | 406 base::Time creation_time = base::Time::Now(); |
| 407 SavePageRequest original_request( | 407 SavePageRequest original_request( |
| 408 kRequestId, kUrl, kClientId, creation_time, kUserRequested); | 408 kRequestId, kUrl, kClientId, creation_time, kUserRequested); |
| 409 store->AddOrUpdateRequest( | 409 store->AddOrUpdateRequest( |
| 410 original_request, base::Bind(&RequestQueueStoreTestBase::AddOrUpdateDone, | 410 original_request, base::Bind(&RequestQueueStoreTestBase::AddOrUpdateDone, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 445 // Resets the store, using the same temp directory. The contents should be | 445 // Resets the store, using the same temp directory. The contents should be |
| 446 // intact. First reset is done separately to release DB lock. | 446 // intact. First reset is done separately to release DB lock. |
| 447 store.reset(); | 447 store.reset(); |
| 448 store = BuildStore(); | 448 store = BuildStore(); |
| 449 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, | 449 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, |
| 450 base::Unretained(this))); | 450 base::Unretained(this))); |
| 451 ASSERT_EQ(LastResult::kNone, this->last_result()); | 451 ASSERT_EQ(LastResult::kNone, this->last_result()); |
| 452 this->PumpLoop(); | 452 this->PumpLoop(); |
| 453 ASSERT_EQ(LastResult::kTrue, this->last_result()); | 453 ASSERT_EQ(LastResult::kTrue, this->last_result()); |
| 454 ASSERT_EQ(1ul, this->last_requests().size()); | 454 ASSERT_EQ(1ul, this->last_requests().size()); |
| 455 ASSERT_TRUE(original_request == this->last_requests()[0]); | 455 ASSERT_TRUE(original_request == *(this->last_requests().at(0).get())); |
| 456 } | 456 } |
| 457 | 457 |
| 458 } // offline_pages | 458 } // offline_pages |
| OLD | NEW |