| Index: sync/sessions/nudge_tracker_unittest.cc
|
| diff --git a/sync/sessions/nudge_tracker_unittest.cc b/sync/sessions/nudge_tracker_unittest.cc
|
| index 4599e69499cd0aa29f60af115bef98e676624e04..0b00d5e19c470b5d86aa64c11a4eb6711d43369a 100644
|
| --- a/sync/sessions/nudge_tracker_unittest.cc
|
| +++ b/sync/sessions/nudge_tracker_unittest.cc
|
| @@ -137,6 +137,27 @@ TEST_F(NudgeTrackerTest, SourcePriorities) {
|
| nudge_tracker_.GetLegacySource());
|
| }
|
|
|
| +TEST_F(NudgeTrackerTest, SourcePriority_InitialSyncRequest) {
|
| + nudge_tracker_.RecordInitialSyncRequired(BOOKMARKS);
|
| +
|
| + // For lack of a better source, we describe an initial sync request as having
|
| + // source DATATYPE_REFRESH.
|
| + EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::DATATYPE_REFRESH,
|
| + nudge_tracker_.GetLegacySource());
|
| +
|
| + // This should never happen in practice. But, if it did, we'd want the
|
| + // initial sync required to keep the source set to DATATYPE_REFRESH.
|
| + nudge_tracker_.RecordLocalChange(ModelTypeSet(BOOKMARKS));
|
| + EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::DATATYPE_REFRESH,
|
| + nudge_tracker_.GetLegacySource());
|
| +
|
| + // It should be safe to let NOTIFICATIONs override it.
|
| + nudge_tracker_.RecordRemoteInvalidation(BOOKMARKS,
|
| + BuildInvalidation(1, "hint"));
|
| + EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::NOTIFICATION,
|
| + nudge_tracker_.GetLegacySource());
|
| +}
|
| +
|
| // Verifies the management of invalidation hints and GU trigger fields.
|
| TEST_F(NudgeTrackerTest, HintCoalescing) {
|
| // Easy case: record one hint.
|
| @@ -344,6 +365,12 @@ TEST_F(NudgeTrackerTest, WriteRefreshRequestedTypesToProto) {
|
| TEST_F(NudgeTrackerTest, IsSyncRequired) {
|
| EXPECT_FALSE(nudge_tracker_.IsSyncRequired());
|
|
|
| + // Initial sync request.
|
| + nudge_tracker_.RecordInitialSyncRequired(BOOKMARKS);
|
| + EXPECT_TRUE(nudge_tracker_.IsSyncRequired());
|
| + nudge_tracker_.RecordSuccessfulSyncCycle();
|
| + EXPECT_FALSE(nudge_tracker_.IsSyncRequired());
|
| +
|
| // Local changes.
|
| nudge_tracker_.RecordLocalChange(ModelTypeSet(SESSIONS));
|
| EXPECT_TRUE(nudge_tracker_.IsSyncRequired());
|
| @@ -368,6 +395,12 @@ TEST_F(NudgeTrackerTest, IsSyncRequired) {
|
| TEST_F(NudgeTrackerTest, IsGetUpdatesRequired) {
|
| EXPECT_FALSE(nudge_tracker_.IsGetUpdatesRequired());
|
|
|
| + // Initial sync request.
|
| + nudge_tracker_.RecordInitialSyncRequired(BOOKMARKS);
|
| + EXPECT_TRUE(nudge_tracker_.IsGetUpdatesRequired());
|
| + nudge_tracker_.RecordSuccessfulSyncCycle();
|
| + EXPECT_FALSE(nudge_tracker_.IsGetUpdatesRequired());
|
| +
|
| // Local changes.
|
| nudge_tracker_.RecordLocalChange(ModelTypeSet(SESSIONS));
|
| EXPECT_FALSE(nudge_tracker_.IsGetUpdatesRequired());
|
|
|