| Index: chrome/browser/extensions/extension_service_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
|
| index 9df92a95be51bde01014a3bb913e56256bfb36a3..29c8a708e6b1db8ff89d5d3360c4b947583b3288 100644
|
| --- a/chrome/browser/extensions/extension_service_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_service_unittest.cc
|
| @@ -621,6 +621,7 @@ class ExtensionServiceTest
|
| .ptr();
|
| installed_ = installed_info->extension;
|
| was_update_ = installed_info->is_update;
|
| + old_name_ = installed_info->old_name;
|
| break;
|
| }
|
|
|
| @@ -713,11 +714,25 @@ class ExtensionServiceTest
|
| Extension::NO_FLAGS);
|
| }
|
|
|
| + // Attempts to install an extension. Use INSTALL_FAILED if the installation
|
| + // is expected to fail.
|
| + // If |install_state| is INSTALL_UPDATED, and |expected_old_name| is
|
| + // non-empty, expects that the existing extension's title was
|
| + // |expected_old_name|.
|
| const Extension* InstallCRX(const base::FilePath& path,
|
| InstallState install_state,
|
| - int creation_flags) {
|
| + int creation_flags,
|
| + const std::string& expected_old_name) {
|
| StartCRXInstall(path, creation_flags);
|
| - return WaitForCrxInstall(path, install_state);
|
| + return WaitForCrxInstall(path, install_state, expected_old_name);
|
| + }
|
| +
|
| + // Attempts to install an extension. Use INSTALL_FAILED if the installation
|
| + // is expected to fail.
|
| + const Extension* InstallCRX(const base::FilePath& path,
|
| + InstallState install_state,
|
| + int creation_flags) {
|
| + return InstallCRX(path, install_state, creation_flags, "");
|
| }
|
|
|
| // Attempts to install an extension. Use INSTALL_FAILED if the installation
|
| @@ -751,6 +766,18 @@ class ExtensionServiceTest
|
| // Returns an Extension pointer if the install succeeded, NULL otherwise.
|
| const Extension* WaitForCrxInstall(const base::FilePath& path,
|
| InstallState install_state) {
|
| + return WaitForCrxInstall(path, install_state, "");
|
| + }
|
| +
|
| + // Wait for a CrxInstaller to finish. Used by InstallCRX. Set the
|
| + // |install_state| to INSTALL_FAILED if the installation is expected to fail.
|
| + // If |install_state| is INSTALL_UPDATED, and |expected_old_name| is
|
| + // non-empty, expects that the existing extension's title was
|
| + // |expected_old_name|.
|
| + // Returns an Extension pointer if the install succeeded, NULL otherwise.
|
| + const Extension* WaitForCrxInstall(const base::FilePath& path,
|
| + InstallState install_state,
|
| + const std::string& expected_old_name) {
|
| loop_.RunUntilIdle();
|
| std::vector<string16> errors = GetErrors();
|
| const Extension* extension = NULL;
|
| @@ -762,6 +789,9 @@ class ExtensionServiceTest
|
| // If and only if INSTALL_UPDATED, it should have the is_update flag.
|
| EXPECT_EQ(install_state == INSTALL_UPDATED, was_update_)
|
| << path.value();
|
| + // If INSTALL_UPDATED, old_name_ should match the given string.
|
| + if (install_state == INSTALL_UPDATED && !expected_old_name.empty())
|
| + EXPECT_EQ(expected_old_name, old_name_);
|
| EXPECT_EQ(0u, errors.size()) << path.value();
|
|
|
| if (install_state == INSTALL_WITHOUT_LOAD) {
|
| @@ -787,6 +817,7 @@ class ExtensionServiceTest
|
|
|
| installed_ = NULL;
|
| was_update_ = false;
|
| + old_name_ = "";
|
| loaded_.clear();
|
| ExtensionErrorReporter::GetInstance()->ClearErrors();
|
| return extension;
|
| @@ -1087,6 +1118,7 @@ class ExtensionServiceTest
|
| std::string unloaded_id_;
|
| const Extension* installed_;
|
| bool was_update_;
|
| + std::string old_name_;
|
| FeatureSwitch::ScopedOverride override_external_install_prompt_;
|
|
|
| private:
|
| @@ -2515,12 +2547,14 @@ TEST_F(ExtensionServiceTest, UpgradeSignedGood) {
|
| ASSERT_EQ("1.0.0.0", extension->version()->GetString());
|
| ASSERT_EQ(0u, GetErrors().size());
|
|
|
| - // Upgrade to version 1.0.0.1
|
| + // Upgrade to version 1.0.0.1.
|
| + // Also test that the extension's old and new title are correctly retrieved.
|
| path = data_dir_.AppendASCII("good2.crx");
|
| - InstallCRX(path, INSTALL_UPDATED);
|
| + InstallCRX(path, INSTALL_UPDATED, Extension::NO_FLAGS, "My extension 1");
|
| extension = service_->GetExtensionById(id, false);
|
|
|
| ASSERT_EQ("1.0.0.1", extension->version()->GetString());
|
| + ASSERT_EQ("My updated extension 1", extension->name());
|
| ASSERT_EQ(0u, GetErrors().size());
|
| }
|
|
|
|
|