| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/files/file_path.h" | 5 #include "base/files/file_path.h" |
| 6 #include "chrome/common/extensions/extension.h" | 6 #include "chrome/common/extensions/extension.h" |
| 7 #include "chrome/common/extensions/extension_manifest_constants.h" | 7 #include "chrome/common/extensions/extension_manifest_constants.h" |
| 8 #include "chrome/common/extensions/manifest.h" | 8 #include "chrome/common/extensions/manifest.h" |
| 9 #include "chrome/common/extensions/sync_helper.h" | 9 #include "chrome/common/extensions/sync_helper.h" |
| 10 #include "googleurl/src/gurl.h" | 10 #include "googleurl/src/gurl.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 const char ExtensionSyncTypeTest::kValidUpdateUrl1[] = | 71 const char ExtensionSyncTypeTest::kValidUpdateUrl1[] = |
| 72 "http://clients2.google.com/service/update2/crx"; | 72 "http://clients2.google.com/service/update2/crx"; |
| 73 const char ExtensionSyncTypeTest::kValidUpdateUrl2[] = | 73 const char ExtensionSyncTypeTest::kValidUpdateUrl2[] = |
| 74 "https://clients2.google.com/service/update2/crx"; | 74 "https://clients2.google.com/service/update2/crx"; |
| 75 | 75 |
| 76 TEST_F(ExtensionSyncTypeTest, NormalExtensionNoUpdateUrl) { | 76 TEST_F(ExtensionSyncTypeTest, NormalExtensionNoUpdateUrl) { |
| 77 scoped_refptr<Extension> extension( | 77 scoped_refptr<Extension> extension( |
| 78 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), | 78 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), |
| 79 Manifest::INTERNAL, 0, base::FilePath(), | 79 Manifest::INTERNAL, 0, base::FilePath(), |
| 80 Extension::NO_FLAGS)); | 80 Extension::NO_FLAGS)); |
| 81 EXPECT_TRUE(sync_helper::IsSyncableExtension(extension)); | 81 EXPECT_TRUE(sync_helper::IsSyncableExtension(extension.get())); |
| 82 } | 82 } |
| 83 | 83 |
| 84 TEST_F(ExtensionSyncTypeTest, UserScriptValidUpdateUrl) { | 84 TEST_F(ExtensionSyncTypeTest, UserScriptValidUpdateUrl) { |
| 85 scoped_refptr<Extension> extension( | 85 scoped_refptr<Extension> extension( |
| 86 MakeSyncTestExtension(USER_SCRIPT, GURL(kValidUpdateUrl1), GURL(), | 86 MakeSyncTestExtension(USER_SCRIPT, GURL(kValidUpdateUrl1), GURL(), |
| 87 Manifest::INTERNAL, 0, base::FilePath(), | 87 Manifest::INTERNAL, 0, base::FilePath(), |
| 88 Extension::NO_FLAGS)); | 88 Extension::NO_FLAGS)); |
| 89 EXPECT_TRUE(sync_helper::IsSyncableExtension(extension)); | 89 EXPECT_TRUE(sync_helper::IsSyncableExtension(extension.get())); |
| 90 } | 90 } |
| 91 | 91 |
| 92 TEST_F(ExtensionSyncTypeTest, UserScriptNoUpdateUrl) { | 92 TEST_F(ExtensionSyncTypeTest, UserScriptNoUpdateUrl) { |
| 93 scoped_refptr<Extension> extension( | 93 scoped_refptr<Extension> extension( |
| 94 MakeSyncTestExtension(USER_SCRIPT, GURL(), GURL(), | 94 MakeSyncTestExtension(USER_SCRIPT, GURL(), GURL(), |
| 95 Manifest::INTERNAL, 0, base::FilePath(), | 95 Manifest::INTERNAL, 0, base::FilePath(), |
| 96 Extension::NO_FLAGS)); | 96 Extension::NO_FLAGS)); |
| 97 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension)); | 97 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension.get())); |
| 98 } | 98 } |
| 99 | 99 |
| 100 TEST_F(ExtensionSyncTypeTest, ThemeNoUpdateUrl) { | 100 TEST_F(ExtensionSyncTypeTest, ThemeNoUpdateUrl) { |
| 101 scoped_refptr<Extension> extension( | 101 scoped_refptr<Extension> extension( |
| 102 MakeSyncTestExtension(THEME, GURL(), GURL(), | 102 MakeSyncTestExtension(THEME, GURL(), GURL(), |
| 103 Manifest::INTERNAL, 0, base::FilePath(), | 103 Manifest::INTERNAL, 0, base::FilePath(), |
| 104 Extension::NO_FLAGS)); | 104 Extension::NO_FLAGS)); |
| 105 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension)); | 105 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension.get())); |
| 106 EXPECT_FALSE(sync_helper::IsSyncableApp(extension)); | 106 EXPECT_FALSE(sync_helper::IsSyncableApp(extension.get())); |
| 107 } | 107 } |
| 108 | 108 |
| 109 TEST_F(ExtensionSyncTypeTest, AppWithLaunchUrl) { | 109 TEST_F(ExtensionSyncTypeTest, AppWithLaunchUrl) { |
| 110 scoped_refptr<Extension> extension( | 110 scoped_refptr<Extension> extension( |
| 111 MakeSyncTestExtension(EXTENSION, GURL(), GURL("http://www.google.com"), | 111 MakeSyncTestExtension(EXTENSION, GURL(), GURL("http://www.google.com"), |
| 112 Manifest::INTERNAL, 0, base::FilePath(), | 112 Manifest::INTERNAL, 0, base::FilePath(), |
| 113 Extension::NO_FLAGS)); | 113 Extension::NO_FLAGS)); |
| 114 EXPECT_TRUE(sync_helper::IsSyncableApp(extension)); | 114 EXPECT_TRUE(sync_helper::IsSyncableApp(extension.get())); |
| 115 } | 115 } |
| 116 | 116 |
| 117 TEST_F(ExtensionSyncTypeTest, ExtensionExternal) { | 117 TEST_F(ExtensionSyncTypeTest, ExtensionExternal) { |
| 118 scoped_refptr<Extension> extension( | 118 scoped_refptr<Extension> extension( |
| 119 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), | 119 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), |
| 120 Manifest::EXTERNAL_PREF, 0, base::FilePath(), | 120 Manifest::EXTERNAL_PREF, 0, base::FilePath(), |
| 121 Extension::NO_FLAGS)); | 121 Extension::NO_FLAGS)); |
| 122 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension)); | 122 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension.get())); |
| 123 } | 123 } |
| 124 | 124 |
| 125 TEST_F(ExtensionSyncTypeTest, UserScriptThirdPartyUpdateUrl) { | 125 TEST_F(ExtensionSyncTypeTest, UserScriptThirdPartyUpdateUrl) { |
| 126 scoped_refptr<Extension> extension( | 126 scoped_refptr<Extension> extension( |
| 127 MakeSyncTestExtension( | 127 MakeSyncTestExtension( |
| 128 USER_SCRIPT, GURL("http://third-party.update_url.com"), GURL(), | 128 USER_SCRIPT, GURL("http://third-party.update_url.com"), GURL(), |
| 129 Manifest::INTERNAL, 0, base::FilePath(), Extension::NO_FLAGS)); | 129 Manifest::INTERNAL, 0, base::FilePath(), Extension::NO_FLAGS)); |
| 130 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension)); | 130 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension.get())); |
| 131 } | 131 } |
| 132 | 132 |
| 133 TEST_F(ExtensionSyncTypeTest, OnlyDisplayAppsInLauncher) { | 133 TEST_F(ExtensionSyncTypeTest, OnlyDisplayAppsInLauncher) { |
| 134 scoped_refptr<Extension> extension( | 134 scoped_refptr<Extension> extension( |
| 135 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), | 135 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), |
| 136 Manifest::INTERNAL, 0, base::FilePath(), | 136 Manifest::INTERNAL, 0, base::FilePath(), |
| 137 Extension::NO_FLAGS)); | 137 Extension::NO_FLAGS)); |
| 138 | 138 |
| 139 EXPECT_FALSE(extension->ShouldDisplayInAppLauncher()); | 139 EXPECT_FALSE(extension->ShouldDisplayInAppLauncher()); |
| 140 EXPECT_FALSE(extension->ShouldDisplayInNewTabPage()); | 140 EXPECT_FALSE(extension->ShouldDisplayInNewTabPage()); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 app = Extension::Create( | 194 app = Extension::Create( |
| 195 base::FilePath(), Manifest::COMPONENT, manifest, 0, &error); | 195 base::FilePath(), Manifest::COMPONENT, manifest, 0, &error); |
| 196 EXPECT_EQ(error, std::string(errors::kInvalidDisplayInNewTabPage)); | 196 EXPECT_EQ(error, std::string(errors::kInvalidDisplayInNewTabPage)); |
| 197 } | 197 } |
| 198 | 198 |
| 199 TEST_F(ExtensionSyncTypeTest, OnlySyncInternal) { | 199 TEST_F(ExtensionSyncTypeTest, OnlySyncInternal) { |
| 200 scoped_refptr<Extension> extension_internal( | 200 scoped_refptr<Extension> extension_internal( |
| 201 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), | 201 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), |
| 202 Manifest::INTERNAL, 0, base::FilePath(), | 202 Manifest::INTERNAL, 0, base::FilePath(), |
| 203 Extension::NO_FLAGS)); | 203 Extension::NO_FLAGS)); |
| 204 EXPECT_TRUE(sync_helper::IsSyncable(extension_internal)); | 204 EXPECT_TRUE(sync_helper::IsSyncable(extension_internal.get())); |
| 205 | 205 |
| 206 scoped_refptr<Extension> extension_noninternal( | 206 scoped_refptr<Extension> extension_noninternal( |
| 207 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), | 207 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), |
| 208 Manifest::COMPONENT, 0, base::FilePath(), | 208 Manifest::COMPONENT, 0, base::FilePath(), |
| 209 Extension::NO_FLAGS)); | 209 Extension::NO_FLAGS)); |
| 210 EXPECT_FALSE(sync_helper::IsSyncable(extension_noninternal)); | 210 EXPECT_FALSE(sync_helper::IsSyncable(extension_noninternal.get())); |
| 211 } | 211 } |
| 212 | 212 |
| 213 TEST_F(ExtensionSyncTypeTest, DontSyncDefault) { | 213 TEST_F(ExtensionSyncTypeTest, DontSyncDefault) { |
| 214 scoped_refptr<Extension> extension_default( | 214 scoped_refptr<Extension> extension_default( |
| 215 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), | 215 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), |
| 216 Manifest::INTERNAL, 0, base::FilePath(), | 216 Manifest::INTERNAL, 0, base::FilePath(), |
| 217 Extension::WAS_INSTALLED_BY_DEFAULT)); | 217 Extension::WAS_INSTALLED_BY_DEFAULT)); |
| 218 EXPECT_FALSE(sync_helper::IsSyncable(extension_default)); | 218 EXPECT_FALSE(sync_helper::IsSyncable(extension_default.get())); |
| 219 } | 219 } |
| 220 | 220 |
| 221 // These last 2 tests don't make sense on Chrome OS, where extension plugins | 221 // These last 2 tests don't make sense on Chrome OS, where extension plugins |
| 222 // are not allowed. | 222 // are not allowed. |
| 223 #if !defined(OS_CHROMEOS) | 223 #if !defined(OS_CHROMEOS) |
| 224 TEST_F(ExtensionSyncTypeTest, ExtensionWithPlugin) { | 224 TEST_F(ExtensionSyncTypeTest, ExtensionWithPlugin) { |
| 225 scoped_refptr<Extension> extension( | 225 scoped_refptr<Extension> extension( |
| 226 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), | 226 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), |
| 227 Manifest::INTERNAL, 1, base::FilePath(), | 227 Manifest::INTERNAL, 1, base::FilePath(), |
| 228 Extension::NO_FLAGS)); | 228 Extension::NO_FLAGS)); |
| 229 if (extension.get()) | 229 if (extension.get()) |
| 230 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension)); | 230 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension.get())); |
| 231 } | 231 } |
| 232 | 232 |
| 233 TEST_F(ExtensionSyncTypeTest, ExtensionWithTwoPlugins) { | 233 TEST_F(ExtensionSyncTypeTest, ExtensionWithTwoPlugins) { |
| 234 scoped_refptr<Extension> extension( | 234 scoped_refptr<Extension> extension( |
| 235 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), | 235 MakeSyncTestExtension(EXTENSION, GURL(), GURL(), |
| 236 Manifest::INTERNAL, 2, base::FilePath(), | 236 Manifest::INTERNAL, 2, base::FilePath(), |
| 237 Extension::NO_FLAGS)); | 237 Extension::NO_FLAGS)); |
| 238 if (extension.get()) | 238 if (extension.get()) |
| 239 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension)); | 239 EXPECT_FALSE(sync_helper::IsSyncableExtension(extension.get())); |
| 240 } | 240 } |
| 241 #endif // !defined(OS_CHROMEOS) | 241 #endif // !defined(OS_CHROMEOS) |
| 242 | 242 |
| 243 } // namespace extensions | 243 } // namespace extensions |
| OLD | NEW |