Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Side by Side Diff: chrome/browser/extensions/extension_sync_data_unittest.cc

Issue 907533004: [Extensions] Sync the 'allowed scripting on all urls' preference (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/extensions/extension_sync_data.h" 5 #include "chrome/browser/extensions/extension_sync_data.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/version.h" 9 #include "base/version.h"
10 #include "sync/protocol/extension_specifics.pb.h" 10 #include "sync/protocol/extension_specifics.pb.h"
11 #include "sync/protocol/sync.pb.h" 11 #include "sync/protocol/sync.pb.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "url/gurl.h" 13 #include "url/gurl.h"
14 14
15 namespace extensions {
16
15 namespace { 17 namespace {
16 18
17 const char kValidId[] = "abcdefghijklmnopabcdefghijklmnop"; 19 const char kValidId[] = "abcdefghijklmnopabcdefghijklmnop";
18 const char kVersion[] = "1.0.0.1"; 20 const char kVersion[] = "1.0.0.1";
19 const char kValidUpdateUrl[] = 21 const char kValidUpdateUrl[] =
20 "https://clients2.google.com/service/update2/crx"; 22 "https://clients2.google.com/service/update2/crx";
21 const char kName[] = "MyExtension"; 23 const char kName[] = "MyExtension";
22 24
25 const ExtensionSyncData::PrefValue kPrefTrue = ExtensionSyncData::PREF_TRUE;
26 const ExtensionSyncData::PrefValue kPrefFalse = ExtensionSyncData::PREF_FALSE;
27 const ExtensionSyncData::PrefValue kPrefUnset = ExtensionSyncData::PREF_UNSET;
28
29 } // namespace
30
23 class ExtensionSyncDataTest : public testing::Test { 31 class ExtensionSyncDataTest : public testing::Test {
24 }; 32 };
25 33
26 TEST_F(ExtensionSyncDataTest, SyncDataToExtensionSyncDataForExtension) { 34 TEST_F(ExtensionSyncDataTest, SyncDataToExtensionSyncDataForExtension) {
27 sync_pb::EntitySpecifics entity; 35 sync_pb::EntitySpecifics entity;
28 sync_pb::ExtensionSpecifics* extension_specifics = entity.mutable_extension(); 36 sync_pb::ExtensionSpecifics* extension_specifics = entity.mutable_extension();
29 extension_specifics->set_id(kValidId); 37 extension_specifics->set_id(kValidId);
30 extension_specifics->set_update_url(kValidUpdateUrl); 38 extension_specifics->set_update_url(kValidUpdateUrl);
31 extension_specifics->set_enabled(false); 39 extension_specifics->set_enabled(false);
32 extension_specifics->set_incognito_enabled(true); 40 extension_specifics->set_incognito_enabled(true);
41 extension_specifics->set_all_urls_enabled(true);
33 extension_specifics->set_version(kVersion); 42 extension_specifics->set_version(kVersion);
34 extension_specifics->set_name(kName); 43 extension_specifics->set_name(kName);
35 syncer::SyncData sync_data = 44 syncer::SyncData sync_data =
36 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); 45 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity);
37 46
38 extensions::ExtensionSyncData extension_sync_data(sync_data); 47 ExtensionSyncData extension_sync_data(sync_data);
39 EXPECT_EQ(extension_specifics->id(), extension_sync_data.id()); 48 EXPECT_EQ(extension_specifics->id(), extension_sync_data.id());
40 EXPECT_EQ(extension_specifics->version(), 49 EXPECT_EQ(extension_specifics->version(),
41 extension_sync_data.version().GetString()); 50 extension_sync_data.version().GetString());
42 EXPECT_EQ(extension_specifics->update_url(), 51 EXPECT_EQ(extension_specifics->update_url(),
43 extension_sync_data.update_url().spec()); 52 extension_sync_data.update_url().spec());
44 EXPECT_EQ(extension_specifics->enabled(), extension_sync_data.enabled()); 53 EXPECT_EQ(extension_specifics->enabled(), extension_sync_data.enabled());
45 EXPECT_EQ(extension_specifics->incognito_enabled(), 54 EXPECT_EQ(extension_specifics->incognito_enabled(),
46 extension_sync_data.incognito_enabled()); 55 extension_sync_data.incognito_enabled());
56 EXPECT_EQ(extension_specifics->all_urls_enabled(),
57 extension_sync_data.all_urls_enabled() == kPrefTrue);
not at google - send to devlin 2015/02/11 01:34:51 This looks convoluted. We know that extension_spe
Devlin 2015/02/11 17:52:21 Yeah, the current test leaves a little to be wante
47 EXPECT_EQ(extension_specifics->name(), extension_sync_data.name()); 58 EXPECT_EQ(extension_specifics->name(), extension_sync_data.name());
48 EXPECT_FALSE(extension_sync_data.uninstalled()); 59 EXPECT_FALSE(extension_sync_data.uninstalled());
60
61 extension_specifics->clear_all_urls_enabled();
62 sync_data = syncer::SyncData::CreateLocalData(
63 "sync_tag", "non_unique_title", entity);
64 extension_sync_data = ExtensionSyncData(sync_data);
65 EXPECT_EQ(kPrefUnset, extension_sync_data.all_urls_enabled());
49 } 66 }
50 67
51 TEST_F(ExtensionSyncDataTest, ExtensionSyncDataToSyncDataForExtension) { 68 TEST_F(ExtensionSyncDataTest, ExtensionSyncDataToSyncDataForExtension) {
52 sync_pb::EntitySpecifics entity; 69 sync_pb::EntitySpecifics entity;
53 sync_pb::ExtensionSpecifics* input_extension = entity.mutable_extension(); 70 sync_pb::ExtensionSpecifics* input_extension = entity.mutable_extension();
54 input_extension->set_id(kValidId); 71 input_extension->set_id(kValidId);
55 input_extension->set_update_url(kValidUpdateUrl); 72 input_extension->set_update_url(kValidUpdateUrl);
56 input_extension->set_enabled(true); 73 input_extension->set_enabled(true);
57 input_extension->set_incognito_enabled(false); 74 input_extension->set_incognito_enabled(false);
75 input_extension->set_all_urls_enabled(false);
58 input_extension->set_version(kVersion); 76 input_extension->set_version(kVersion);
59 input_extension->set_name(kName); 77 input_extension->set_name(kName);
60 syncer::SyncData sync_data = 78 syncer::SyncData sync_data =
61 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); 79 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity);
62 extensions::ExtensionSyncData extension_sync_data(sync_data); 80 ExtensionSyncData extension_sync_data(sync_data);
63 81
64 syncer::SyncData output_sync_data = extension_sync_data.GetSyncData(); 82 syncer::SyncData output_sync_data = extension_sync_data.GetSyncData();
65 const sync_pb::ExtensionSpecifics& output_specifics = 83 const sync_pb::ExtensionSpecifics& output_specifics =
66 output_sync_data.GetSpecifics().extension(); 84 output_sync_data.GetSpecifics().extension();
67 EXPECT_EQ(extension_sync_data.id(), output_specifics.id()); 85 EXPECT_EQ(extension_sync_data.id(), output_specifics.id());
68 EXPECT_EQ(extension_sync_data.update_url().spec(), 86 EXPECT_EQ(extension_sync_data.update_url().spec(),
69 output_specifics.update_url()); 87 output_specifics.update_url());
70 EXPECT_EQ(extension_sync_data.enabled(), output_specifics.enabled()); 88 EXPECT_EQ(extension_sync_data.enabled(), output_specifics.enabled());
71 EXPECT_EQ(extension_sync_data.incognito_enabled(), 89 EXPECT_EQ(extension_sync_data.incognito_enabled(),
72 output_specifics.incognito_enabled()); 90 output_specifics.incognito_enabled());
91 EXPECT_EQ(kPrefFalse, extension_sync_data.all_urls_enabled());
92 EXPECT_FALSE(output_specifics.all_urls_enabled());
73 EXPECT_EQ(extension_sync_data.version().GetString(), 93 EXPECT_EQ(extension_sync_data.version().GetString(),
74 output_specifics.version()); 94 output_specifics.version());
75 EXPECT_EQ(extension_sync_data.name(), output_specifics.name()); 95 EXPECT_EQ(extension_sync_data.name(), output_specifics.name());
96
97 input_extension->clear_all_urls_enabled();
98 sync_data = syncer::SyncData::CreateLocalData(
99 "sync_tag", "non_unique_title", entity);
100 extension_sync_data = ExtensionSyncData(sync_data);
101 output_sync_data = extension_sync_data.GetSyncData();
102 EXPECT_EQ(kPrefUnset, extension_sync_data.all_urls_enabled());
103 EXPECT_FALSE(
104 output_sync_data.GetSpecifics().extension().has_all_urls_enabled());
76 } 105 }
77 106
78 } // namespace 107 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698