| Index: chrome/browser/extensions/component_loader_unittest.cc
|
| diff --git a/chrome/browser/extensions/component_loader_unittest.cc b/chrome/browser/extensions/component_loader_unittest.cc
|
| index ef61a0b973bc01dbda4c80744423c5bc1b6606a7..a8b51f08cc8979a06d90eb24e211107136396854 100644
|
| --- a/chrome/browser/extensions/component_loader_unittest.cc
|
| +++ b/chrome/browser/extensions/component_loader_unittest.cc
|
| @@ -26,16 +26,15 @@ namespace {
|
|
|
| class MockExtensionService : public TestExtensionService {
|
| private:
|
| - bool ready_;
|
| size_t unloaded_count_;
|
| ExtensionSet extension_set_;
|
|
|
| public:
|
| - MockExtensionService() : ready_(false), unloaded_count_(0) {
|
| + MockExtensionService() : unloaded_count_(0) {
|
| }
|
|
|
| virtual void AddComponentExtension(const Extension* extension) OVERRIDE {
|
| - EXPECT_FALSE(extension_set_.Contains(extension->id()));
|
| + EXPECT_FALSE(extension_set_.Contains(extension->id())) << extension->id();
|
| // ExtensionService must become the owner of the extension object.
|
| extension_set_.Insert(extension);
|
| }
|
| @@ -49,16 +48,12 @@ class MockExtensionService : public TestExtensionService {
|
| unloaded_count_++;
|
| }
|
|
|
| - virtual bool is_ready() OVERRIDE {
|
| - return ready_;
|
| - }
|
| -
|
| virtual const ExtensionSet* extensions() const OVERRIDE {
|
| return &extension_set_;
|
| }
|
|
|
| - void set_ready(bool ready) {
|
| - ready_ = ready;
|
| + void set_ready() {
|
| + ready_.MarkHappened();
|
| }
|
|
|
| size_t unloaded_count() const {
|
| @@ -179,7 +174,6 @@ TEST_F(ComponentLoaderTest, ParseManifest) {
|
|
|
| // Test that the extension isn't loaded if the extension service isn't ready.
|
| TEST_F(ComponentLoaderTest, AddWhenNotReady) {
|
| - extension_service_.set_ready(false);
|
| std::string extension_id =
|
| component_loader_.Add(manifest_contents_, extension_path_);
|
| EXPECT_NE("", extension_id);
|
| @@ -188,7 +182,7 @@ TEST_F(ComponentLoaderTest, AddWhenNotReady) {
|
|
|
| // Test that it *is* loaded when the extension service *is* ready.
|
| TEST_F(ComponentLoaderTest, AddWhenReady) {
|
| - extension_service_.set_ready(true);
|
| + extension_service_.set_ready();
|
| std::string extension_id =
|
| component_loader_.Add(manifest_contents_, extension_path_);
|
| EXPECT_NE("", extension_id);
|
| @@ -197,8 +191,6 @@ TEST_F(ComponentLoaderTest, AddWhenReady) {
|
| }
|
|
|
| TEST_F(ComponentLoaderTest, Remove) {
|
| - extension_service_.set_ready(false);
|
| -
|
| // Removing an extension that was never added should be ok.
|
| component_loader_.Remove(extension_path_);
|
| EXPECT_EQ(0u, extension_service_.extensions()->size());
|
| @@ -210,7 +202,7 @@ TEST_F(ComponentLoaderTest, Remove) {
|
| EXPECT_EQ(0u, extension_service_.extensions()->size());
|
|
|
| // Load an extension, and check that it's unloaded when Remove() is called.
|
| - extension_service_.set_ready(true);
|
| + extension_service_.set_ready();
|
| std::string extension_id =
|
| component_loader_.Add(manifest_contents_, extension_path_);
|
| EXPECT_EQ(1u, extension_service_.extensions()->size());
|
| @@ -223,8 +215,6 @@ TEST_F(ComponentLoaderTest, Remove) {
|
| }
|
|
|
| TEST_F(ComponentLoaderTest, LoadAll) {
|
| - extension_service_.set_ready(false);
|
| -
|
| // No extensions should be loaded if none were added.
|
| component_loader_.LoadAll();
|
| EXPECT_EQ(0u, extension_service_.extensions()->size());
|
| @@ -243,7 +233,7 @@ TEST_F(ComponentLoaderTest, LoadAll) {
|
| }
|
|
|
| TEST_F(ComponentLoaderTest, RemoveAll) {
|
| - extension_service_.set_ready(true);
|
| + extension_service_.set_ready();
|
| EXPECT_EQ(0u, extension_service_.extensions()->size());
|
| // Add all the default extensions. Since the extension service is ready, they
|
| // will be loaded immediately.
|
| @@ -260,29 +250,43 @@ TEST_F(ComponentLoaderTest, RemoveAll) {
|
| EXPECT_EQ(0u, extension_service_.extensions()->size());
|
| }
|
|
|
| -TEST_F(ComponentLoaderTest, EnterpriseWebStore) {
|
| +static const char kEnterpriseWebStoreId[] = "afchcafgojfnemjkcbhfekplkmjaldaa";
|
| +
|
| +TEST_F(ComponentLoaderTest, EnterpriseWebStoreSettingPrefLoadsExtension) {
|
| component_loader_.AddDefaultComponentExtensions(false);
|
| component_loader_.LoadAll();
|
| unsigned int default_count = extension_service_.extensions()->size();
|
| + EXPECT_FALSE(
|
| + extension_service_.extensions()->Contains(kEnterpriseWebStoreId));
|
|
|
| // Set the pref, and it should get loaded automatically.
|
| - extension_service_.set_ready(true);
|
| + extension_service_.set_ready();
|
| prefs_.SetUserPref(prefs::kEnterpriseWebStoreURL,
|
| Value::CreateStringValue("http://www.google.com"));
|
| EXPECT_EQ(default_count + 1, extension_service_.extensions()->size());
|
| + EXPECT_TRUE(extension_service_.extensions()->Contains(kEnterpriseWebStoreId));
|
|
|
| - // Now that the pref is set, check if it's added by default.
|
| - extension_service_.set_ready(false);
|
| - extension_service_.clear_extensions();
|
| - component_loader_.ClearAllRegistered();
|
| + // Number of loaded extensions should be the same after changing the pref.
|
| + prefs_.SetUserPref(prefs::kEnterpriseWebStoreURL,
|
| + Value::CreateStringValue("http://www.google.de"));
|
| + EXPECT_EQ(default_count + 1, extension_service_.extensions()->size());
|
| +}
|
| +
|
| +TEST_F(ComponentLoaderTest, EnterpriseWebStoreExtensionLoadsIfPrefSet) {
|
| + prefs_.SetUserPref(prefs::kEnterpriseWebStoreURL,
|
| + Value::CreateStringValue("http://www.google.com"));
|
| + EXPECT_EQ(0U, extension_service_.extensions()->size());
|
| component_loader_.AddDefaultComponentExtensions(false);
|
| component_loader_.LoadAll();
|
| - EXPECT_EQ(default_count + 1, extension_service_.extensions()->size());
|
| +
|
| + // Now that the pref is set, check if it's added by default.
|
| + EXPECT_TRUE(extension_service_.extensions()->Contains(kEnterpriseWebStoreId));
|
| + unsigned int extension_count = extension_service_.extensions()->size();
|
|
|
| // Number of loaded extensions should be the same after changing the pref.
|
| prefs_.SetUserPref(prefs::kEnterpriseWebStoreURL,
|
| Value::CreateStringValue("http://www.google.de"));
|
| - EXPECT_EQ(default_count + 1, extension_service_.extensions()->size());
|
| + EXPECT_EQ(extension_count, extension_service_.extensions()->size());
|
| }
|
|
|
| TEST_F(ComponentLoaderTest, AddOrReplace) {
|
| @@ -303,7 +307,7 @@ TEST_F(ComponentLoaderTest, AddOrReplace) {
|
| EXPECT_EQ(default_count + 1,
|
| component_loader_.registered_extensions_count());
|
|
|
| - extension_service_.set_ready(true);
|
| + extension_service_.set_ready();
|
| component_loader_.LoadAll();
|
|
|
| EXPECT_EQ(default_count + 1, extension_service_.extensions()->size());
|
|
|