| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "chrome/browser/extensions/extension_service_unittest.h" | 5 #include "chrome/browser/extensions/extension_service_unittest.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 827 << path.value(); | 827 << path.value(); |
| 828 // If INSTALL_UPDATED, old_name_ should match the given string. | 828 // If INSTALL_UPDATED, old_name_ should match the given string. |
| 829 if (install_state == INSTALL_UPDATED && !expected_old_name.empty()) | 829 if (install_state == INSTALL_UPDATED && !expected_old_name.empty()) |
| 830 EXPECT_EQ(expected_old_name, old_name_); | 830 EXPECT_EQ(expected_old_name, old_name_); |
| 831 EXPECT_EQ(0u, errors.size()) << path.value(); | 831 EXPECT_EQ(0u, errors.size()) << path.value(); |
| 832 | 832 |
| 833 if (install_state == INSTALL_WITHOUT_LOAD) { | 833 if (install_state == INSTALL_WITHOUT_LOAD) { |
| 834 EXPECT_EQ(0u, loaded_.size()) << path.value(); | 834 EXPECT_EQ(0u, loaded_.size()) << path.value(); |
| 835 } else { | 835 } else { |
| 836 EXPECT_EQ(1u, loaded_.size()) << path.value(); | 836 EXPECT_EQ(1u, loaded_.size()) << path.value(); |
| 837 EXPECT_EQ(expected_extensions_count_, service_->extensions()->size()) << | 837 size_t actual_extension_count = service_->extensions()->size() + |
| 838 service_->disabled_extensions()->size(); |
| 839 EXPECT_EQ(expected_extensions_count_, actual_extension_count) << |
| 838 path.value(); | 840 path.value(); |
| 839 extension = loaded_[0].get(); | 841 extension = loaded_[0].get(); |
| 840 EXPECT_TRUE(service_->GetExtensionById(extension->id(), false)) | 842 EXPECT_TRUE(service_->GetExtensionById(extension->id(), false)) |
| 841 << path.value(); | 843 << path.value(); |
| 842 } | 844 } |
| 843 | 845 |
| 844 for (std::vector<string16>::iterator err = errors.begin(); | 846 for (std::vector<string16>::iterator err = errors.begin(); |
| 845 err != errors.end(); ++err) { | 847 err != errors.end(); ++err) { |
| 846 LOG(ERROR) << *err; | 848 LOG(ERROR) << *err; |
| 847 } | 849 } |
| (...skipping 1499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2347 | 2349 |
| 2348 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator()); | 2350 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator()); |
| 2349 ASSERT_TRUE(creator->Run(input_directory, crx_path, privkey_path, | 2351 ASSERT_TRUE(creator->Run(input_directory, crx_path, privkey_path, |
| 2350 base::FilePath(), ExtensionCreator::kOverwriteCRX)); | 2352 base::FilePath(), ExtensionCreator::kOverwriteCRX)); |
| 2351 | 2353 |
| 2352 InstallCRX(crx_path, INSTALL_NEW); | 2354 InstallCRX(crx_path, INSTALL_NEW); |
| 2353 } | 2355 } |
| 2354 | 2356 |
| 2355 TEST_F(ExtensionServiceTest, InstallTheme) { | 2357 TEST_F(ExtensionServiceTest, InstallTheme) { |
| 2356 InitializeEmptyExtensionService(); | 2358 InitializeEmptyExtensionService(); |
| 2359 service_->Init(); |
| 2357 | 2360 |
| 2358 // A theme. | 2361 // A theme. |
| 2359 base::FilePath path = data_dir_.AppendASCII("theme.crx"); | 2362 base::FilePath path = data_dir_.AppendASCII("theme.crx"); |
| 2360 InstallCRX(path, INSTALL_NEW); | 2363 InstallCRX(path, INSTALL_NEW); |
| 2361 int pref_count = 0; | 2364 int pref_count = 0; |
| 2362 ValidatePrefKeyCount(++pref_count); | 2365 ValidatePrefKeyCount(++pref_count); |
| 2363 ValidateIntegerPref(theme_crx, "state", Extension::ENABLED); | 2366 ValidateIntegerPref(theme_crx, "state", Extension::ENABLED); |
| 2364 ValidateIntegerPref(theme_crx, "location", Manifest::INTERNAL); | 2367 ValidateIntegerPref(theme_crx, "location", Manifest::INTERNAL); |
| 2365 | 2368 |
| 2366 // A theme when extensions are disabled. Themes can be installed, even when | 2369 // A theme when extensions are disabled. Themes can be installed, even when |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2388 | 2391 |
| 2389 // A theme with image resources missing (misspelt path). | 2392 // A theme with image resources missing (misspelt path). |
| 2390 path = data_dir_.AppendASCII("theme_missing_image.crx"); | 2393 path = data_dir_.AppendASCII("theme_missing_image.crx"); |
| 2391 InstallCRX(path, INSTALL_FAILED); | 2394 InstallCRX(path, INSTALL_FAILED); |
| 2392 ValidatePrefKeyCount(pref_count); | 2395 ValidatePrefKeyCount(pref_count); |
| 2393 } | 2396 } |
| 2394 | 2397 |
| 2395 TEST_F(ExtensionServiceTest, LoadLocalizedTheme) { | 2398 TEST_F(ExtensionServiceTest, LoadLocalizedTheme) { |
| 2396 // Load. | 2399 // Load. |
| 2397 InitializeEmptyExtensionService(); | 2400 InitializeEmptyExtensionService(); |
| 2401 service_->Init(); |
| 2402 |
| 2398 base::FilePath extension_path = data_dir_ | 2403 base::FilePath extension_path = data_dir_ |
| 2399 .AppendASCII("theme_i18n"); | 2404 .AppendASCII("theme_i18n"); |
| 2400 | 2405 |
| 2401 extensions::UnpackedInstaller::Create(service_)->Load(extension_path); | 2406 extensions::UnpackedInstaller::Create(service_)->Load(extension_path); |
| 2402 loop_.RunUntilIdle(); | 2407 loop_.RunUntilIdle(); |
| 2403 EXPECT_EQ(0u, GetErrors().size()); | 2408 EXPECT_EQ(0u, GetErrors().size()); |
| 2404 ASSERT_EQ(1u, loaded_.size()); | 2409 ASSERT_EQ(1u, loaded_.size()); |
| 2405 EXPECT_EQ(1u, service_->extensions()->size()); | 2410 EXPECT_EQ(1u, service_->extensions()->size()); |
| 2406 const Extension* theme = service_->extensions()->begin()->get(); | 2411 const Extension* theme = service_->extensions()->begin()->get(); |
| 2407 EXPECT_EQ("name", theme->name()); | 2412 EXPECT_EQ("name", theme->name()); |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2488 loop_.RunUntilIdle(); | 2493 loop_.RunUntilIdle(); |
| 2489 | 2494 |
| 2490 EXPECT_TRUE(GetErrors().empty()); | 2495 EXPECT_TRUE(GetErrors().empty()); |
| 2491 ASSERT_EQ(1u, loaded_.size()); | 2496 ASSERT_EQ(1u, loaded_.size()); |
| 2492 EXPECT_EQ(1u, service_->extensions()->size()); | 2497 EXPECT_EQ(1u, service_->extensions()->size()); |
| 2493 } | 2498 } |
| 2494 #endif | 2499 #endif |
| 2495 | 2500 |
| 2496 TEST_F(ExtensionServiceTest, InstallLocalizedTheme) { | 2501 TEST_F(ExtensionServiceTest, InstallLocalizedTheme) { |
| 2497 InitializeEmptyExtensionService(); | 2502 InitializeEmptyExtensionService(); |
| 2503 service_->Init(); |
| 2504 |
| 2498 base::FilePath theme_path = data_dir_ | 2505 base::FilePath theme_path = data_dir_ |
| 2499 .AppendASCII("theme_i18n"); | 2506 .AppendASCII("theme_i18n"); |
| 2500 | 2507 |
| 2501 const Extension* theme = PackAndInstallCRX(theme_path, INSTALL_NEW); | 2508 const Extension* theme = PackAndInstallCRX(theme_path, INSTALL_NEW); |
| 2502 | 2509 |
| 2503 EXPECT_EQ(0u, GetErrors().size()); | 2510 EXPECT_EQ(0u, GetErrors().size()); |
| 2504 EXPECT_EQ(1u, service_->extensions()->size()); | 2511 EXPECT_EQ(1u, service_->extensions()->size()); |
| 2505 EXPECT_EQ("name", theme->name()); | 2512 EXPECT_EQ("name", theme->name()); |
| 2506 EXPECT_EQ("description", theme->description()); | 2513 EXPECT_EQ("description", theme->description()); |
| 2507 } | 2514 } |
| (...skipping 3832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6340 provider->UpdateOrAddExtension(updates_from_webstore, "1", crx_path); | 6347 provider->UpdateOrAddExtension(updates_from_webstore, "1", crx_path); |
| 6341 | 6348 |
| 6342 service_->CheckForExternalUpdates(); | 6349 service_->CheckForExternalUpdates(); |
| 6343 content::WindowedNotificationObserver( | 6350 content::WindowedNotificationObserver( |
| 6344 chrome::NOTIFICATION_CRX_INSTALLER_DONE, | 6351 chrome::NOTIFICATION_CRX_INSTALLER_DONE, |
| 6345 content::NotificationService::AllSources()).Wait(); | 6352 content::NotificationService::AllSources()).Wait(); |
| 6346 EXPECT_TRUE(extensions::HasExternalInstallError(service_)); | 6353 EXPECT_TRUE(extensions::HasExternalInstallError(service_)); |
| 6347 EXPECT_FALSE(extensions::HasExternalInstallBubble(service_)); | 6354 EXPECT_FALSE(extensions::HasExternalInstallBubble(service_)); |
| 6348 EXPECT_FALSE(service_->IsExtensionEnabled(updates_from_webstore)); | 6355 EXPECT_FALSE(service_->IsExtensionEnabled(updates_from_webstore)); |
| 6349 } | 6356 } |
| OLD | NEW |