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

Side by Side Diff: chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc

Issue 2850953002: Add a unit test for "ALREADY_SAVED" being converted to "SUCCESS" (Closed)
Patch Set: Created 3 years, 7 months 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "chrome/browser/android/offline_pages/prerendering_offliner.h" 5 #include "chrome/browser/android/offline_pages/prerendering_offliner.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 } 152 }
153 153
154 void CompleteSavingAsSuccess() { 154 void CompleteSavingAsSuccess() {
155 DCHECK(mock_saving_); 155 DCHECK(mock_saving_);
156 mock_saving_ = false; 156 mock_saving_ = false;
157 base::ThreadTaskRunnerHandle::Get()->PostTask( 157 base::ThreadTaskRunnerHandle::Get()->PostTask(
158 FROM_HERE, 158 FROM_HERE,
159 base::Bind(save_page_callback_, SavePageResult::SUCCESS, 123456)); 159 base::Bind(save_page_callback_, SavePageResult::SUCCESS, 123456));
160 } 160 }
161 161
162 void CompleteSavingAsAlreadyExists() {
163 DCHECK(mock_saving_);
164 mock_saving_ = false;
165 base::ThreadTaskRunnerHandle::Get()->PostTask(
166 FROM_HERE, base::Bind(save_page_callback_,
167 SavePageResult::ALREADY_EXISTS, 123456));
168 }
169
162 bool mock_saving() const { return mock_saving_; } 170 bool mock_saving() const { return mock_saving_; }
163 171
164 private: 172 private:
165 bool mock_saving_; 173 bool mock_saving_;
166 SavePageCallback save_page_callback_; 174 SavePageCallback save_page_callback_;
167 175
168 DISALLOW_COPY_AND_ASSIGN(MockOfflinePageModel); 176 DISALLOW_COPY_AND_ASSIGN(MockOfflinePageModel);
169 }; 177 };
170 178
171 void PumpLoop() { 179 void PumpLoop() {
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 EXPECT_TRUE(SaveInProgress()); 411 EXPECT_TRUE(SaveInProgress());
404 412
405 model()->CompleteSavingAsSuccess(); 413 model()->CompleteSavingAsSuccess();
406 PumpLoop(); 414 PumpLoop();
407 EXPECT_TRUE(completion_callback_called()); 415 EXPECT_TRUE(completion_callback_called());
408 EXPECT_EQ(Offliner::RequestStatus::SAVED, request_status()); 416 EXPECT_EQ(Offliner::RequestStatus::SAVED, request_status());
409 EXPECT_FALSE(loader()->IsLoaded()); 417 EXPECT_FALSE(loader()->IsLoaded());
410 EXPECT_FALSE(SaveInProgress()); 418 EXPECT_FALSE(SaveInProgress());
411 } 419 }
412 420
421 TEST_F(PrerenderingOfflinerTest, LoadAndSavePageAlreadyExists) {
422 base::Time creation_time = base::Time::Now();
423 SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time,
424 kUserRequested);
425 EXPECT_TRUE(offliner()->LoadAndSave(request, completion_callback(),
426 progress_callback()));
427 EXPECT_FALSE(loader()->IsIdle());
428 EXPECT_EQ(Offliner::RequestStatus::UNKNOWN, request_status());
429
430 loader()->CompleteLoadingAsLoaded();
431 PumpLoop();
432 EXPECT_FALSE(completion_callback_called());
433 EXPECT_TRUE(loader()->IsLoaded());
434 EXPECT_TRUE(SaveInProgress());
435
436 model()->CompleteSavingAsAlreadyExists();
437 PumpLoop();
438 EXPECT_TRUE(completion_callback_called());
439 EXPECT_EQ(Offliner::RequestStatus::SAVED, request_status());
440 EXPECT_FALSE(loader()->IsLoaded());
441 EXPECT_FALSE(SaveInProgress());
442 }
443
413 TEST_F(PrerenderingOfflinerTest, LoadAndSaveLoadedButThenCanceledFromLoader) { 444 TEST_F(PrerenderingOfflinerTest, LoadAndSaveLoadedButThenCanceledFromLoader) {
414 base::Time creation_time = base::Time::Now(); 445 base::Time creation_time = base::Time::Now();
415 SavePageRequest request( 446 SavePageRequest request(
416 kRequestId, kHttpUrl, kClientId, creation_time, kUserRequested); 447 kRequestId, kHttpUrl, kClientId, creation_time, kUserRequested);
417 EXPECT_TRUE(offliner()->LoadAndSave(request, completion_callback(), 448 EXPECT_TRUE(offliner()->LoadAndSave(request, completion_callback(),
418 progress_callback())); 449 progress_callback()));
419 EXPECT_FALSE(loader()->IsIdle()); 450 EXPECT_FALSE(loader()->IsIdle());
420 EXPECT_EQ(Offliner::RequestStatus::UNKNOWN, request_status()); 451 EXPECT_EQ(Offliner::RequestStatus::UNKNOWN, request_status());
421 452
422 loader()->CompleteLoadingAsLoaded(); 453 loader()->CompleteLoadingAsLoaded();
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 PumpLoop(); 648 PumpLoop();
618 EXPECT_EQ(Offliner::RequestStatus::SAVED, request_status()); 649 EXPECT_EQ(Offliner::RequestStatus::SAVED, request_status());
619 650
620 // One extra part should be added if the flag is on. 651 // One extra part should be added if the flag is on.
621 content::MHTMLExtraParts* extra_parts = 652 content::MHTMLExtraParts* extra_parts =
622 content::MHTMLExtraParts::FromWebContents(loader()->web_contents()); 653 content::MHTMLExtraParts::FromWebContents(loader()->web_contents());
623 EXPECT_EQ(extra_parts->size(), 1); 654 EXPECT_EQ(extra_parts->size(), 1);
624 } 655 }
625 656
626 } // namespace offline_pages 657 } // namespace offline_pages
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698