| Index: chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
|
| diff --git a/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc b/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
|
| index 8ff60b5376b9838e92e4f7528ce8900dd650fb07..255a19f0daff02ccd8fb4d47a3e406de9dd06840 100644
|
| --- a/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
|
| +++ b/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
|
| @@ -69,6 +69,14 @@ class MockOfflinePageModel : public StubOfflinePageModel {
|
| base::Bind(save_page_callback_, SavePageResult::SUCCESS, 123456));
|
| }
|
|
|
| + void CompleteSavingAsAlreadyExists() {
|
| + DCHECK(mock_saving_);
|
| + mock_saving_ = false;
|
| + base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| + FROM_HERE, base::Bind(save_page_callback_,
|
| + SavePageResult::ALREADY_EXISTS, 123456));
|
| + }
|
| +
|
| bool mock_saving() const { return mock_saving_; }
|
|
|
| private:
|
| @@ -376,6 +384,24 @@ TEST_F(BackgroundLoaderOfflinerTest, LoadAndSaveSuccess) {
|
| EXPECT_FALSE(SaveInProgress());
|
| }
|
|
|
| +TEST_F(BackgroundLoaderOfflinerTest, LoadAndSaveAlreadyExists) {
|
| + base::Time creation_time = base::Time::Now();
|
| + SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time,
|
| + kUserRequested);
|
| + EXPECT_TRUE(offliner()->LoadAndSave(request, completion_callback(),
|
| + progress_callback()));
|
| +
|
| + CompleteLoading();
|
| + PumpLoop();
|
| + model()->CompleteSavingAsAlreadyExists();
|
| + PumpLoop();
|
| +
|
| + EXPECT_TRUE(completion_callback_called());
|
| + EXPECT_EQ(Offliner::RequestStatus::SAVED, request_status());
|
| + EXPECT_FALSE(offliner()->is_loading());
|
| + EXPECT_FALSE(SaveInProgress());
|
| +}
|
| +
|
| TEST_F(BackgroundLoaderOfflinerTest, FailsOnInvalidURL) {
|
| base::Time creation_time = base::Time::Now();
|
| SavePageRequest request(kRequestId, kFileUrl, kClientId, creation_time,
|
|
|