| Index: components/offline_pages/snapshot_controller_unittest.cc
|
| diff --git a/components/offline_pages/snapshot_controller_unittest.cc b/components/offline_pages/snapshot_controller_unittest.cc
|
| index 08ddbdd87d801632a24eb1d70a1479ca043ea776..df561bc3f6b74bbbc12d379752eb9d03b2b9a3a9 100644
|
| --- a/components/offline_pages/snapshot_controller_unittest.cc
|
| +++ b/components/offline_pages/snapshot_controller_unittest.cc
|
| @@ -77,10 +77,12 @@ void SnapshotControllerTest::FastForwardBy(base::TimeDelta delta) {
|
| }
|
|
|
| TEST_F(SnapshotControllerTest, OnLoad) {
|
| - // Onload should make snapshot right away.
|
| - EXPECT_EQ(0, snapshot_count());
|
| + // Onload should make snapshot after its delay.
|
| controller()->DocumentOnLoadCompletedInMainFrame();
|
| PumpLoop();
|
| + EXPECT_EQ(0, snapshot_count());
|
| + FastForwardBy(base::TimeDelta::FromMilliseconds(
|
| + controller()->GetDelayAfterDocumentOnLoadCompletedForTest()));
|
| EXPECT_EQ(1, snapshot_count());
|
| }
|
|
|
| @@ -96,17 +98,22 @@ TEST_F(SnapshotControllerTest, OnDocumentAvailable) {
|
| }
|
|
|
| TEST_F(SnapshotControllerTest, OnLoadSnapshotIsTheLastOne) {
|
| + // This test assumes DocumentAvailable delay is longer than OnLoadCompleted.
|
| + EXPECT_GT(controller()->GetDelayAfterDocumentAvailableForTest(),
|
| + controller()->GetDelayAfterDocumentOnLoadCompletedForTest());
|
| // OnDOM should make snapshot after a delay.
|
| controller()->DocumentAvailableInMainFrame();
|
| PumpLoop();
|
| EXPECT_EQ(0, snapshot_count());
|
| - // This should start snapshot immediately.
|
| controller()->DocumentOnLoadCompletedInMainFrame();
|
| + // Advance time to OnLoadCompleted delay to trigger snapshot.
|
| + FastForwardBy(base::TimeDelta::FromMilliseconds(
|
| + controller()->GetDelayAfterDocumentOnLoadCompletedForTest()));
|
| EXPECT_EQ(1, snapshot_count());
|
| // Report that snapshot is completed.
|
| controller()->PendingSnapshotCompleted();
|
| // Even though previous snapshot is completed, new one should not start
|
| - // when this delay expires.
|
| + // when this DocumentAvailable delay expires.
|
| FastForwardBy(base::TimeDelta::FromMilliseconds(
|
| controller()->GetDelayAfterDocumentAvailableForTest()));
|
| EXPECT_EQ(1, snapshot_count());
|
| @@ -122,8 +129,10 @@ TEST_F(SnapshotControllerTest, OnLoadSnapshotAfterLongDelay) {
|
| EXPECT_EQ(1, snapshot_count());
|
| // Report that snapshot is completed.
|
| controller()->PendingSnapshotCompleted();
|
| - // This should start snapshot immediately.
|
| + // OnLoad should make 2nd snapshot after its delay.
|
| controller()->DocumentOnLoadCompletedInMainFrame();
|
| + FastForwardBy(base::TimeDelta::FromMilliseconds(
|
| + controller()->GetDelayAfterDocumentOnLoadCompletedForTest()));
|
| EXPECT_EQ(2, snapshot_count());
|
| }
|
|
|
| @@ -151,6 +160,8 @@ TEST_F(SnapshotControllerTest, ClientReset) {
|
| // No snapshot since session was reset.
|
| EXPECT_EQ(0, snapshot_count());
|
| controller()->DocumentOnLoadCompletedInMainFrame();
|
| + FastForwardBy(base::TimeDelta::FromMilliseconds(
|
| + controller()->GetDelayAfterDocumentOnLoadCompletedForTest()));
|
| EXPECT_EQ(1, snapshot_count());
|
|
|
| controller()->Reset();
|
| @@ -165,6 +176,8 @@ TEST_F(SnapshotControllerTest, ClientReset) {
|
| // as done later. That reporting should have no effect nor crash.
|
| TEST_F(SnapshotControllerTest, ClientResetWhileSnapshotting) {
|
| controller()->DocumentOnLoadCompletedInMainFrame();
|
| + FastForwardBy(base::TimeDelta::FromMilliseconds(
|
| + controller()->GetDelayAfterDocumentOnLoadCompletedForTest()));
|
| EXPECT_EQ(1, snapshot_count());
|
| // This normally happens when navigation starts.
|
| controller()->Reset();
|
|
|