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()); |