| 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 1491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2339 | 2341 |
| 2340 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator()); | 2342 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator()); |
| 2341 ASSERT_TRUE(creator->Run(input_directory, crx_path, privkey_path, | 2343 ASSERT_TRUE(creator->Run(input_directory, crx_path, privkey_path, |
| 2342 base::FilePath(), ExtensionCreator::kOverwriteCRX)); | 2344 base::FilePath(), ExtensionCreator::kOverwriteCRX)); |
| 2343 | 2345 |
| 2344 InstallCRX(crx_path, INSTALL_NEW); | 2346 InstallCRX(crx_path, INSTALL_NEW); |
| 2345 } | 2347 } |
| 2346 | 2348 |
| 2347 TEST_F(ExtensionServiceTest, InstallTheme) { | 2349 TEST_F(ExtensionServiceTest, InstallTheme) { |
| 2348 InitializeEmptyExtensionService(); | 2350 InitializeEmptyExtensionService(); |
| 2351 service_->Init(); |
| 2349 | 2352 |
| 2350 // A theme. | 2353 // A theme. |
| 2351 base::FilePath path = data_dir_.AppendASCII("theme.crx"); | 2354 base::FilePath path = data_dir_.AppendASCII("theme.crx"); |
| 2352 InstallCRX(path, INSTALL_NEW); | 2355 InstallCRX(path, INSTALL_NEW); |
| 2353 int pref_count = 0; | 2356 int pref_count = 0; |
| 2354 ValidatePrefKeyCount(++pref_count); | 2357 ValidatePrefKeyCount(++pref_count); |
| 2355 ValidateIntegerPref(theme_crx, "state", Extension::ENABLED); | 2358 ValidateIntegerPref(theme_crx, "state", Extension::ENABLED); |
| 2356 ValidateIntegerPref(theme_crx, "location", Manifest::INTERNAL); | 2359 ValidateIntegerPref(theme_crx, "location", Manifest::INTERNAL); |
| 2357 | 2360 |
| 2358 // A theme when extensions are disabled. Themes can be installed, even when | 2361 // A theme when extensions are disabled. Themes can be installed, even when |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2380 | 2383 |
| 2381 // A theme with image resources missing (misspelt path). | 2384 // A theme with image resources missing (misspelt path). |
| 2382 path = data_dir_.AppendASCII("theme_missing_image.crx"); | 2385 path = data_dir_.AppendASCII("theme_missing_image.crx"); |
| 2383 InstallCRX(path, INSTALL_FAILED); | 2386 InstallCRX(path, INSTALL_FAILED); |
| 2384 ValidatePrefKeyCount(pref_count); | 2387 ValidatePrefKeyCount(pref_count); |
| 2385 } | 2388 } |
| 2386 | 2389 |
| 2387 TEST_F(ExtensionServiceTest, LoadLocalizedTheme) { | 2390 TEST_F(ExtensionServiceTest, LoadLocalizedTheme) { |
| 2388 // Load. | 2391 // Load. |
| 2389 InitializeEmptyExtensionService(); | 2392 InitializeEmptyExtensionService(); |
| 2393 service_->Init(); |
| 2394 |
| 2390 base::FilePath extension_path = data_dir_ | 2395 base::FilePath extension_path = data_dir_ |
| 2391 .AppendASCII("theme_i18n"); | 2396 .AppendASCII("theme_i18n"); |
| 2392 | 2397 |
| 2393 extensions::UnpackedInstaller::Create(service_)->Load(extension_path); | 2398 extensions::UnpackedInstaller::Create(service_)->Load(extension_path); |
| 2394 loop_.RunUntilIdle(); | 2399 loop_.RunUntilIdle(); |
| 2395 EXPECT_EQ(0u, GetErrors().size()); | 2400 EXPECT_EQ(0u, GetErrors().size()); |
| 2396 ASSERT_EQ(1u, loaded_.size()); | 2401 ASSERT_EQ(1u, loaded_.size()); |
| 2397 EXPECT_EQ(1u, service_->extensions()->size()); | 2402 EXPECT_EQ(1u, service_->extensions()->size()); |
| 2398 const Extension* theme = service_->extensions()->begin()->get(); | 2403 const Extension* theme = service_->extensions()->begin()->get(); |
| 2399 EXPECT_EQ("name", theme->name()); | 2404 EXPECT_EQ("name", theme->name()); |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2480 loop_.RunUntilIdle(); | 2485 loop_.RunUntilIdle(); |
| 2481 | 2486 |
| 2482 EXPECT_TRUE(GetErrors().empty()); | 2487 EXPECT_TRUE(GetErrors().empty()); |
| 2483 ASSERT_EQ(1u, loaded_.size()); | 2488 ASSERT_EQ(1u, loaded_.size()); |
| 2484 EXPECT_EQ(1u, service_->extensions()->size()); | 2489 EXPECT_EQ(1u, service_->extensions()->size()); |
| 2485 } | 2490 } |
| 2486 #endif | 2491 #endif |
| 2487 | 2492 |
| 2488 TEST_F(ExtensionServiceTest, InstallLocalizedTheme) { | 2493 TEST_F(ExtensionServiceTest, InstallLocalizedTheme) { |
| 2489 InitializeEmptyExtensionService(); | 2494 InitializeEmptyExtensionService(); |
| 2495 service_->Init(); |
| 2496 |
| 2490 base::FilePath theme_path = data_dir_ | 2497 base::FilePath theme_path = data_dir_ |
| 2491 .AppendASCII("theme_i18n"); | 2498 .AppendASCII("theme_i18n"); |
| 2492 | 2499 |
| 2493 const Extension* theme = PackAndInstallCRX(theme_path, INSTALL_NEW); | 2500 const Extension* theme = PackAndInstallCRX(theme_path, INSTALL_NEW); |
| 2494 | 2501 |
| 2495 EXPECT_EQ(0u, GetErrors().size()); | 2502 EXPECT_EQ(0u, GetErrors().size()); |
| 2496 EXPECT_EQ(1u, service_->extensions()->size()); | 2503 EXPECT_EQ(1u, service_->extensions()->size()); |
| 2497 EXPECT_EQ("name", theme->name()); | 2504 EXPECT_EQ("name", theme->name()); |
| 2498 EXPECT_EQ("description", theme->description()); | 2505 EXPECT_EQ("description", theme->description()); |
| 2499 } | 2506 } |
| (...skipping 3832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6332 provider->UpdateOrAddExtension(updates_from_webstore, "1", crx_path); | 6339 provider->UpdateOrAddExtension(updates_from_webstore, "1", crx_path); |
| 6333 | 6340 |
| 6334 service_->CheckForExternalUpdates(); | 6341 service_->CheckForExternalUpdates(); |
| 6335 content::WindowedNotificationObserver( | 6342 content::WindowedNotificationObserver( |
| 6336 chrome::NOTIFICATION_CRX_INSTALLER_DONE, | 6343 chrome::NOTIFICATION_CRX_INSTALLER_DONE, |
| 6337 content::NotificationService::AllSources()).Wait(); | 6344 content::NotificationService::AllSources()).Wait(); |
| 6338 EXPECT_TRUE(extensions::HasExternalInstallError(service_)); | 6345 EXPECT_TRUE(extensions::HasExternalInstallError(service_)); |
| 6339 EXPECT_FALSE(extensions::HasExternalInstallBubble(service_)); | 6346 EXPECT_FALSE(extensions::HasExternalInstallBubble(service_)); |
| 6340 EXPECT_FALSE(service_->IsExtensionEnabled(updates_from_webstore)); | 6347 EXPECT_FALSE(service_->IsExtensionEnabled(updates_from_webstore)); |
| 6341 } | 6348 } |
| OLD | NEW |