OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/extensions_service_unittest.h" | 5 #include "chrome/browser/extensions/extensions_service_unittest.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 1263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1274 ASSERT_TRUE(extension); | 1274 ASSERT_TRUE(extension); |
1275 | 1275 |
1276 bool enabled = service_->GetExtensionById(kGoodId, false); | 1276 bool enabled = service_->GetExtensionById(kGoodId, false); |
1277 EXPECT_EQ(kGoodInitialState == Extension::ENABLED, enabled); | 1277 EXPECT_EQ(kGoodInitialState == Extension::ENABLED, enabled); |
1278 EXPECT_EQ(kGoodInitialState, | 1278 EXPECT_EQ(kGoodInitialState, |
1279 service_->extension_prefs()->GetExtensionState(extension->id())); | 1279 service_->extension_prefs()->GetExtensionState(extension->id())); |
1280 EXPECT_EQ(kGoodInitialIncognitoEnabled, | 1280 EXPECT_EQ(kGoodInitialIncognitoEnabled, |
1281 service_->IsIncognitoEnabled(extension)); | 1281 service_->IsIncognitoEnabled(extension)); |
1282 } | 1282 } |
1283 | 1283 |
| 1284 // Test updating a pending theme. |
| 1285 TEST_F(ExtensionsServiceTest, UpdatePendingTheme) { |
| 1286 InitializeEmptyExtensionsService(); |
| 1287 service_->AddPendingExtension( |
| 1288 theme_crx, GURL(), true, false, Extension::ENABLED, false); |
| 1289 EXPECT_TRUE(ContainsKey(service_->pending_extensions(), theme_crx)); |
| 1290 |
| 1291 FilePath extensions_path; |
| 1292 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); |
| 1293 extensions_path = extensions_path.AppendASCII("extensions"); |
| 1294 FilePath path = extensions_path.AppendASCII("theme.crx"); |
| 1295 UpdateExtension(theme_crx, path, ENABLED); |
| 1296 |
| 1297 EXPECT_FALSE(ContainsKey(service_->pending_extensions(), theme_crx)); |
| 1298 |
| 1299 Extension* extension = service_->GetExtensionById(theme_crx, true); |
| 1300 ASSERT_TRUE(extension); |
| 1301 |
| 1302 EXPECT_EQ(Extension::ENABLED, |
| 1303 service_->extension_prefs()->GetExtensionState(extension->id())); |
| 1304 EXPECT_FALSE(service_->IsIncognitoEnabled(extension)); |
| 1305 } |
| 1306 |
1284 // TODO(akalin): Test updating a pending extension non-silently once | 1307 // TODO(akalin): Test updating a pending extension non-silently once |
1285 // we can mock out ExtensionInstallUI and inject our version into | 1308 // we can mock out ExtensionInstallUI and inject our version into |
1286 // UpdateExtension(). | 1309 // UpdateExtension(). |
1287 | 1310 |
1288 // Test updating a pending extension with wrong is_theme. | 1311 // Test updating a pending extension with wrong is_theme. |
1289 TEST_F(ExtensionsServiceTest, UpdatePendingExtensionWrongIsTheme) { | 1312 TEST_F(ExtensionsServiceTest, UpdatePendingExtensionWrongIsTheme) { |
1290 InitializeEmptyExtensionsService(); | 1313 InitializeEmptyExtensionsService(); |
1291 // Add pending extension with a flipped is_theme. | 1314 // Add pending extension with a flipped is_theme. |
1292 service_->AddPendingExtension( | 1315 service_->AddPendingExtension( |
1293 kGoodId, GURL(kGoodUpdateURL), !kGoodIsTheme, | 1316 kGoodId, GURL(kGoodUpdateURL), !kGoodIsTheme, |
1294 kGoodInstallSilently, kGoodInitialState, | 1317 kGoodInstallSilently, kGoodInitialState, |
1295 kGoodInitialIncognitoEnabled); | 1318 kGoodInitialIncognitoEnabled); |
1296 EXPECT_TRUE(ContainsKey(service_->pending_extensions(), kGoodId)); | 1319 EXPECT_TRUE(ContainsKey(service_->pending_extensions(), kGoodId)); |
1297 | 1320 |
1298 FilePath extensions_path; | 1321 FilePath extensions_path; |
1299 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); | 1322 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); |
1300 extensions_path = extensions_path.AppendASCII("extensions"); | 1323 extensions_path = extensions_path.AppendASCII("extensions"); |
1301 FilePath path = extensions_path.AppendASCII("good.crx"); | 1324 FilePath path = extensions_path.AppendASCII("good.crx"); |
1302 UpdateExtension(kGoodId, path, UPDATED); | 1325 UpdateExtension(kGoodId, path, UPDATED); |
1303 | 1326 |
1304 // TODO(akalin): Figure out how to check that the extensions | 1327 // TODO(akalin): Figure out how to check that the extensions |
1305 // directory is cleaned up properly in OnExtensionInstalled(). | 1328 // directory is cleaned up properly in OnExtensionInstalled(). |
1306 | 1329 |
1307 EXPECT_TRUE(ContainsKey(service_->pending_extensions(), kGoodId)); | 1330 EXPECT_FALSE(ContainsKey(service_->pending_extensions(), kGoodId)); |
1308 } | 1331 } |
1309 | 1332 |
| 1333 // TODO(akalin): Figure out how to test that installs of pending |
| 1334 // unsyncable extensions are blocked. |
| 1335 |
1310 // Test updating a pending extension for one that is not pending. | 1336 // Test updating a pending extension for one that is not pending. |
1311 TEST_F(ExtensionsServiceTest, UpdatePendingExtensionNotPending) { | 1337 TEST_F(ExtensionsServiceTest, UpdatePendingExtensionNotPending) { |
1312 InitializeEmptyExtensionsService(); | 1338 InitializeEmptyExtensionsService(); |
1313 | 1339 |
1314 FilePath extensions_path; | 1340 FilePath extensions_path; |
1315 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); | 1341 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); |
1316 extensions_path = extensions_path.AppendASCII("extensions"); | 1342 extensions_path = extensions_path.AppendASCII("extensions"); |
1317 FilePath path = extensions_path.AppendASCII("good.crx"); | 1343 FilePath path = extensions_path.AppendASCII("good.crx"); |
1318 UpdateExtension(kGoodId, path, UPDATED); | 1344 UpdateExtension(kGoodId, path, UPDATED); |
1319 | 1345 |
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2094 // Component extensions shouldn't get recourded in the prefs. | 2120 // Component extensions shouldn't get recourded in the prefs. |
2095 ValidatePrefKeyCount(0); | 2121 ValidatePrefKeyCount(0); |
2096 | 2122 |
2097 // Reload all extensions, and make sure it comes back. | 2123 // Reload all extensions, and make sure it comes back. |
2098 std::string extension_id = service_->extensions()->at(0)->id(); | 2124 std::string extension_id = service_->extensions()->at(0)->id(); |
2099 loaded_.clear(); | 2125 loaded_.clear(); |
2100 service_->ReloadExtensions(); | 2126 service_->ReloadExtensions(); |
2101 ASSERT_EQ(1u, service_->extensions()->size()); | 2127 ASSERT_EQ(1u, service_->extensions()->size()); |
2102 EXPECT_EQ(extension_id, service_->extensions()->at(0)->id()); | 2128 EXPECT_EQ(extension_id, service_->extensions()->at(0)->id()); |
2103 } | 2129 } |
OLD | NEW |