summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_management_tests.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_management_tests.cc')
-rw-r--r--chrome/browser/extensions/extension_management_tests.cc66
1 files changed, 37 insertions, 29 deletions
diff --git a/chrome/browser/extensions/extension_management_tests.cc b/chrome/browser/extensions/extension_management_tests.cc
index 014677a..5162ebe 100644
--- a/chrome/browser/extensions/extension_management_tests.cc
+++ b/chrome/browser/extensions/extension_management_tests.cc
@@ -49,8 +49,7 @@ class ExtensionManagementTest : public ExtensionBrowserTest {
// the operation was completed successfully.
bool InstallAndUpdateIncreasingPermissionsExtension() {
ExtensionsService* service = browser()->profile()->GetExtensionsService();
- if (service->HasInstalledExtensions())
- return false;
+ size_t size_before = service->extensions()->size();
// Install the initial version, which should happen just fine.
if (!InstallExtension(
@@ -59,13 +58,13 @@ class ExtensionManagementTest : public ExtensionBrowserTest {
// Upgrade to a version that wants more permissions. We should disable the
// extension and prompt the user to reenable.
- if (service->extensions()->size() != 1u)
+ if (service->extensions()->size() != size_before + 1)
return false;
if (!UpdateExtension(
- service->extensions()->at(0)->id(),
+ service->extensions()->at(size_before)->id(),
test_data_dir_.AppendASCII("permissions-high-v2.crx"), -1))
return false;
- EXPECT_EQ(0u, service->extensions()->size());
+ EXPECT_EQ(size_before, service->extensions()->size());
if (service->disabled_extensions()->size() != 1u)
return false;
return true;
@@ -75,7 +74,7 @@ class ExtensionManagementTest : public ExtensionBrowserTest {
// Tests that installing the same version does not overwrite.
IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, InstallSameVersion) {
ExtensionsService* service = browser()->profile()->GetExtensionsService();
- ASSERT_FALSE(service->HasInstalledExtensions());
+ const size_t size_before = service->extensions()->size();
ASSERT_TRUE(InstallExtension(
test_data_dir_.AppendASCII("install/install.crx"), 1));
@@ -83,28 +82,32 @@ IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, InstallSameVersion) {
// be kept.
ASSERT_TRUE(InstallExtension(
test_data_dir_.AppendASCII("install/install_same_version.crx"), 0));
- EXPECT_TRUE(IsExtensionAtVersion(service->extensions()->at(0), "1.0"));
+
+ EXPECT_TRUE(IsExtensionAtVersion(service->extensions()->at(size_before),
+ "1.0"));
}
IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, InstallOlderVersion) {
ExtensionsService* service = browser()->profile()->GetExtensionsService();
- ASSERT_FALSE(service->HasInstalledExtensions());
+ const size_t size_before = service->extensions()->size();
ASSERT_TRUE(InstallExtension(
test_data_dir_.AppendASCII("install/install.crx"), 1));
ASSERT_TRUE(InstallExtension(
test_data_dir_.AppendASCII("install/install_older_version.crx"), 0));
- EXPECT_TRUE(IsExtensionAtVersion(service->extensions()->at(0), "1.0"));
+ EXPECT_TRUE(IsExtensionAtVersion(service->extensions()->at(size_before),
+ "1.0"));
}
IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, InstallThenCancel) {
ExtensionsService* service = browser()->profile()->GetExtensionsService();
- ASSERT_FALSE(service->HasInstalledExtensions());
+ const size_t size_before = service->extensions()->size();
ASSERT_TRUE(InstallExtension(
test_data_dir_.AppendASCII("install/install.crx"), 1));
// Cancel this install.
StartInstallButCancel(test_data_dir_.AppendASCII("install/install_v2.crx"));
- EXPECT_TRUE(IsExtensionAtVersion(service->extensions()->at(0), "1.0"));
+ EXPECT_TRUE(IsExtensionAtVersion(service->extensions()->at(size_before),
+ "1.0"));
}
// Tests that installing and uninstalling extensions don't crash with an
@@ -130,10 +133,11 @@ IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, Incognito) {
IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, UpdatePermissions) {
ExtensionsService* service = browser()->profile()->GetExtensionsService();
ASSERT_TRUE(InstallAndUpdateIncreasingPermissionsExtension());
+ const size_t size_before = service->extensions()->size();
// Now try reenabling it.
service->EnableExtension(service->disabled_extensions()->at(0)->id());
- EXPECT_EQ(1u, service->extensions()->size());
+ EXPECT_EQ(size_before + 1, service->extensions()->size());
EXPECT_EQ(0u, service->disabled_extensions()->size());
}
@@ -141,12 +145,12 @@ IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, UpdatePermissions) {
IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, UninstallDisabled) {
ExtensionsService* service = browser()->profile()->GetExtensionsService();
ASSERT_TRUE(InstallAndUpdateIncreasingPermissionsExtension());
+ const size_t size_before = service->extensions()->size();
// Now try uninstalling it.
UninstallExtension(service->disabled_extensions()->at(0)->id());
- EXPECT_EQ(0u, service->extensions()->size());
+ EXPECT_EQ(size_before, service->extensions()->size());
EXPECT_EQ(0u, service->disabled_extensions()->size());
- ASSERT_FALSE(service->HasInstalledExtensions());
}
// Tests that disabling and re-enabling an extension works.
@@ -154,29 +158,29 @@ IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, DisableEnable) {
ExtensionProcessManager* manager = browser()->profile()->
GetExtensionProcessManager();
ExtensionsService* service = browser()->profile()->GetExtensionsService();
+ const size_t size_before = service->extensions()->size();
// Load an extension, expect the background page to be available.
- ASSERT_FALSE(service->HasInstalledExtensions());
ASSERT_TRUE(LoadExtension(
test_data_dir_.AppendASCII("good").AppendASCII("Extensions")
.AppendASCII("bjafgdebaacbbbecmhlhpofkepfkgcpa")
.AppendASCII("1.0")));
- ASSERT_EQ(1u, service->extensions()->size());
+ ASSERT_EQ(size_before + 1, service->extensions()->size());
EXPECT_EQ(0u, service->disabled_extensions()->size());
- Extension* extension = service->extensions()->at(0);
+ Extension* extension = service->extensions()->at(size_before);
EXPECT_TRUE(manager->GetBackgroundHostForExtension(extension));
ASSERT_TRUE(service->HasInstalledExtensions());
// After disabling, the background page should go away.
service->DisableExtension("bjafgdebaacbbbecmhlhpofkepfkgcpa");
- EXPECT_EQ(0u, service->extensions()->size());
+ EXPECT_EQ(size_before, service->extensions()->size());
EXPECT_EQ(1u, service->disabled_extensions()->size());
EXPECT_FALSE(manager->GetBackgroundHostForExtension(extension));
ASSERT_TRUE(service->HasInstalledExtensions());
// And bring it back.
service->EnableExtension("bjafgdebaacbbbecmhlhpofkepfkgcpa");
- EXPECT_EQ(1u, service->extensions()->size());
+ EXPECT_EQ(size_before + 1, service->extensions()->size());
EXPECT_EQ(0u, service->disabled_extensions()->size());
EXPECT_TRUE(manager->GetBackgroundHostForExtension(extension));
ASSERT_TRUE(service->HasInstalledExtensions());
@@ -199,13 +203,15 @@ IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, AutoUpdate) {
// Install version 1 of the extension.
ExtensionsService* service = browser()->profile()->GetExtensionsService();
- ASSERT_FALSE(service->HasInstalledExtensions());
+ const size_t size_before = service->extensions()->size();
+ ASSERT_TRUE(service->disabled_extensions()->empty());
ASSERT_TRUE(InstallExtension(basedir.AppendASCII("v1.crx"), 1));
const ExtensionList* extensions = service->extensions();
+ ASSERT_EQ(size_before + 1, extensions->size());
ASSERT_TRUE(service->HasInstalledExtensions());
- ASSERT_EQ(1u, extensions->size());
- ASSERT_EQ("ogjcoiohnmldgjemafoockdghcjciccf", extensions->at(0)->id());
- ASSERT_EQ("1.0", extensions->at(0)->VersionString());
+ ASSERT_EQ("ogjcoiohnmldgjemafoockdghcjciccf",
+ extensions->at(size_before)->id());
+ ASSERT_EQ("1.0", extensions->at(size_before)->VersionString());
// We don't want autoupdate blacklist checks.
service->updater()->set_blacklist_checks_enabled(false);
@@ -214,9 +220,10 @@ IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, AutoUpdate) {
service->updater()->CheckNow();
ASSERT_TRUE(WaitForExtensionInstall());
extensions = service->extensions();
- ASSERT_EQ(1u, extensions->size());
- ASSERT_EQ("ogjcoiohnmldgjemafoockdghcjciccf", extensions->at(0)->id());
- ASSERT_EQ("2.0", extensions->at(0)->VersionString());
+ ASSERT_EQ(size_before + 1, extensions->size());
+ ASSERT_EQ("ogjcoiohnmldgjemafoockdghcjciccf",
+ extensions->at(size_before)->id());
+ ASSERT_EQ("2.0", extensions->at(size_before)->VersionString());
// Now try doing an update to version 3, which has been incorrectly
// signed. This should fail.
@@ -230,8 +237,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, AutoUpdate) {
// Make sure the extension state is the same as before.
extensions = service->extensions();
- ASSERT_EQ(1u, extensions->size());
- ASSERT_EQ("ogjcoiohnmldgjemafoockdghcjciccf", extensions->at(0)->id());
- ASSERT_EQ("2.0", extensions->at(0)->VersionString());
+ ASSERT_EQ(size_before + 1, extensions->size());
+ ASSERT_EQ("ogjcoiohnmldgjemafoockdghcjciccf",
+ extensions->at(size_before)->id());
+ ASSERT_EQ("2.0", extensions->at(size_before)->VersionString());
}
#endif // !defined(OS_LINUX)