| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/json/json_reader.h" | 8 #include "base/json/json_reader.h" |
| 9 #include "base/json/json_writer.h" | 9 #include "base/json/json_writer.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 ASSERT_PRED_FORMAT2(ValuesEq, &value2, &all_sync_data["s2"][0].value()); | 219 ASSERT_PRED_FORMAT2(ValuesEq, &value2, &all_sync_data["s2"][0].value()); |
| 220 | 220 |
| 221 SyncDataList sync_data; | 221 SyncDataList sync_data; |
| 222 sync_data.push_back(extension_settings_sync_util::CreateData( | 222 sync_data.push_back(extension_settings_sync_util::CreateData( |
| 223 "s1", "foo", value1)); | 223 "s1", "foo", value1)); |
| 224 sync_data.push_back(extension_settings_sync_util::CreateData( | 224 sync_data.push_back(extension_settings_sync_util::CreateData( |
| 225 "s2", "bar", value2)); | 225 "s2", "bar", value2)); |
| 226 | 226 |
| 227 backend_->MergeDataAndStartSyncing( | 227 backend_->MergeDataAndStartSyncing( |
| 228 syncable::EXTENSION_SETTINGS, sync_data, &sync_); | 228 syncable::EXTENSION_SETTINGS, sync_data, &sync_); |
| 229 backend_->StopSyncing(syncable::EXTENSION_SETTINGS); | |
| 230 | 229 |
| 231 // Already in sync, so no changes. | 230 // Already in sync, so no changes. |
| 232 ASSERT_EQ(0u, sync_.changes().size()); | 231 ASSERT_EQ(0u, sync_.changes().size()); |
| 232 |
| 233 // Regression test: not-changing the synced value shouldn't result in a sync |
| 234 // change, and changing the synced value should result in an update. |
| 235 storage1->Set("foo", value1); |
| 236 ASSERT_EQ(0u, sync_.changes().size()); |
| 237 |
| 238 storage1->Set("foo", value2); |
| 239 ASSERT_EQ(1u, sync_.changes().size()); |
| 240 ExtensionSettingSyncData change = sync_.GetOnlyChange("s1", "foo"); |
| 241 ASSERT_EQ(SyncChange::ACTION_UPDATE, change.change_type()); |
| 242 ASSERT_TRUE(value2.Equals(&change.value())); |
| 243 |
| 244 backend_->StopSyncing(syncable::EXTENSION_SETTINGS); |
| 233 } | 245 } |
| 234 | 246 |
| 235 TEST_F(ExtensionSettingsSyncTest, LocalDataWithNoSyncDataIsPushedToSync) { | 247 TEST_F(ExtensionSettingsSyncTest, LocalDataWithNoSyncDataIsPushedToSync) { |
| 236 StringValue value1("fooValue"); | 248 StringValue value1("fooValue"); |
| 237 ListValue value2; | 249 ListValue value2; |
| 238 value2.Append(StringValue::CreateStringValue("barValue")); | 250 value2.Append(StringValue::CreateStringValue("barValue")); |
| 239 | 251 |
| 240 SyncableExtensionSettingsStorage* storage1 = GetStorage("s1"); | 252 SyncableExtensionSettingsStorage* storage1 = GetStorage("s1"); |
| 241 SyncableExtensionSettingsStorage* storage2 = GetStorage("s2"); | 253 SyncableExtensionSettingsStorage* storage2 = GetStorage("s2"); |
| 242 | 254 |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 sync_.GetOnlyChange("s3", "bar").change_type()); | 502 sync_.GetOnlyChange("s3", "bar").change_type()); |
| 491 ASSERT_EQ( | 503 ASSERT_EQ( |
| 492 SyncChange::ACTION_DELETE, | 504 SyncChange::ACTION_DELETE, |
| 493 sync_.GetOnlyChange("s4", "foo").change_type()); | 505 sync_.GetOnlyChange("s4", "foo").change_type()); |
| 494 ASSERT_EQ( | 506 ASSERT_EQ( |
| 495 SyncChange::ACTION_DELETE, | 507 SyncChange::ACTION_DELETE, |
| 496 sync_.GetOnlyChange("s4", "bar").change_type()); | 508 sync_.GetOnlyChange("s4", "bar").change_type()); |
| 497 | 509 |
| 498 backend_->StopSyncing(syncable::EXTENSION_SETTINGS); | 510 backend_->StopSyncing(syncable::EXTENSION_SETTINGS); |
| 499 } | 511 } |
| OLD | NEW |