Index: chrome/browser/extensions/extension_settings_sync_unittest.cc |
diff --git a/chrome/browser/extensions/extension_settings_sync_unittest.cc b/chrome/browser/extensions/extension_settings_sync_unittest.cc |
index 70734751c8fd71d3de9852dfff6e0c68f04e1608..43a50c0480f788ff58f83c9bf366156875004463 100644 |
--- a/chrome/browser/extensions/extension_settings_sync_unittest.cc |
+++ b/chrome/browser/extensions/extension_settings_sync_unittest.cc |
@@ -226,10 +226,22 @@ TEST_F(ExtensionSettingsSyncTest, InSyncDataDoesNotInvokeSync) { |
backend_->MergeDataAndStartSyncing( |
syncable::EXTENSION_SETTINGS, sync_data, &sync_); |
- backend_->StopSyncing(syncable::EXTENSION_SETTINGS); |
// Already in sync, so no changes. |
ASSERT_EQ(0u, sync_.changes().size()); |
+ |
+ // Regression test: not-changing the synced value shouldn't result in a sync |
+ // change, and changing the synced value should result in an update. |
+ storage1->Set("foo", value1); |
+ ASSERT_EQ(0u, sync_.changes().size()); |
+ |
+ storage1->Set("foo", value2); |
+ ASSERT_EQ(1u, sync_.changes().size()); |
+ ExtensionSettingSyncData change = sync_.GetOnlyChange("s1", "foo"); |
+ ASSERT_EQ(SyncChange::ACTION_UPDATE, change.change_type()); |
+ ASSERT_TRUE(value2.Equals(&change.value())); |
+ |
+ backend_->StopSyncing(syncable::EXTENSION_SETTINGS); |
} |
TEST_F(ExtensionSettingsSyncTest, LocalDataWithNoSyncDataIsPushedToSync) { |