| Index: chrome/browser/extensions/extension_service_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
|
| index 23ae3105739217336717d1032e232d2c66e5cb80..a374f1aba2c245b2595b4a327d71896224a3486d 100644
|
| --- a/chrome/browser/extensions/extension_service_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_service_unittest.cc
|
| @@ -40,6 +40,7 @@
|
| #include "chrome/browser/prefs/browser_prefs.h"
|
| #include "chrome/browser/prefs/pref_service_mock_builder.h"
|
| #include "chrome/browser/prefs/scoped_user_pref_update.h"
|
| +#include "chrome/browser/sync/protocol/app_specifics.pb.h"
|
| #include "chrome/browser/sync/protocol/extension_specifics.pb.h"
|
| #include "chrome/common/chrome_notification_types.h"
|
| #include "chrome/common/chrome_paths.h"
|
| @@ -3612,6 +3613,48 @@ TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) {
|
| EXPECT_FALSE(service_->GetExtensionById(good_crx, true));
|
| }
|
|
|
| +TEST_F(ExtensionServiceTest, ProcessSyncDataWrongType) {
|
| + InitializeEmptyExtensionService();
|
| +
|
| + // Install the extension.
|
| + FilePath extension_path = data_dir_.AppendASCII("good.crx");
|
| + InstallCrx(extension_path, true);
|
| + EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
|
| +
|
| + sync_pb::EntitySpecifics specifics;
|
| + sync_pb::AppSpecifics* app_specifics =
|
| + specifics.MutableExtension(sync_pb::app);
|
| + sync_pb::ExtensionSpecifics* extension_specifics =
|
| + app_specifics->mutable_extension();
|
| + extension_specifics->set_id(good_crx);
|
| + extension_specifics->set_version(
|
| + service_->GetInstalledExtension(good_crx)->version()->GetString());
|
| +
|
| + {
|
| + extension_specifics->set_enabled(true);
|
| + SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics);
|
| + SyncChange sync_change(SyncChange::ACTION_DELETE, sync_data);
|
| + SyncChangeList list(1);
|
| + list[0] = sync_change;
|
| +
|
| + // Should do nothing
|
| + service_->ProcessSyncChanges(FROM_HERE, list);
|
| + EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
|
| + }
|
| +
|
| + {
|
| + extension_specifics->set_enabled(false);
|
| + SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics);
|
| + SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data);
|
| + SyncChangeList list(1);
|
| + list[0] = sync_change;
|
| +
|
| + // Should again do nothing.
|
| + service_->ProcessSyncChanges(FROM_HERE, list);
|
| + EXPECT_TRUE(service_->GetExtensionById(good_crx, false));
|
| + }
|
| +}
|
| +
|
| TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) {
|
| InitializeEmptyExtensionService();
|
| TestSyncProcessorStub processor;
|
|
|