Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "chrome/browser/extensions/component_loader.h" | 7 #include "chrome/browser/extensions/component_loader.h" |
| 8 | 8 |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 162 ASSERT_EQ(2, value); | 162 ASSERT_EQ(2, value); |
| 163 | 163 |
| 164 std::string string_value; | 164 std::string string_value; |
| 165 manifest.reset(component_loader_.ParseManifest(manifest_contents_)); | 165 manifest.reset(component_loader_.ParseManifest(manifest_contents_)); |
| 166 ASSERT_TRUE(manifest->GetString("background.page", &string_value)); | 166 ASSERT_TRUE(manifest->GetString("background.page", &string_value)); |
| 167 ASSERT_EQ("backgroundpage.html", string_value); | 167 ASSERT_EQ("backgroundpage.html", string_value); |
| 168 } | 168 } |
| 169 | 169 |
| 170 // Test that the extension isn't loaded if the extension service isn't ready. | 170 // Test that the extension isn't loaded if the extension service isn't ready. |
| 171 TEST_F(ComponentLoaderTest, AddWhenNotReady) { | 171 TEST_F(ComponentLoaderTest, AddWhenNotReady) { |
| 172 scoped_refptr<const Extension> extension; | |
| 173 extension_service_.set_ready(false); | 172 extension_service_.set_ready(false); |
| 174 extension = component_loader_.Add(manifest_contents_, extension_path_); | 173 std::string extension_id = |
| 175 ASSERT_EQ((Extension*)NULL, extension.get()); | 174 component_loader_.Add(manifest_contents_, extension_path_); |
| 175 ASSERT_FALSE(extension_id.empty()); | |
|
Jeffrey Yasskin
2012/10/02 00:26:31
I wonder if ASSERT_NE("", extension_id) would give
Aaron Boodman
2012/10/02 01:28:52
Done, throughout.
| |
| 176 ASSERT_EQ(0u, extension_service_.extensions()->size()); | 176 ASSERT_EQ(0u, extension_service_.extensions()->size()); |
| 177 } | 177 } |
| 178 | 178 |
| 179 // Test that it *is* loaded when the extension service *is* ready. | 179 // Test that it *is* loaded when the extension service *is* ready. |
| 180 TEST_F(ComponentLoaderTest, AddWhenReady) { | 180 TEST_F(ComponentLoaderTest, AddWhenReady) { |
| 181 scoped_refptr<const Extension> extension; | |
| 182 extension_service_.set_ready(true); | 181 extension_service_.set_ready(true); |
| 183 extension = component_loader_.Add(manifest_contents_, extension_path_); | 182 std::string extension_id = |
| 184 ASSERT_NE((Extension*)NULL, extension.get()); | 183 component_loader_.Add(manifest_contents_, extension_path_); |
| 184 ASSERT_FALSE(extension_id.empty()); | |
| 185 ASSERT_EQ(1u, extension_service_.extensions()->size()); | 185 ASSERT_EQ(1u, extension_service_.extensions()->size()); |
| 186 ASSERT_TRUE(extension_service_.extensions()->GetByID(extension_id)); | |
| 186 } | 187 } |
| 187 | 188 |
| 188 TEST_F(ComponentLoaderTest, Remove) { | 189 TEST_F(ComponentLoaderTest, Remove) { |
| 189 extension_service_.set_ready(false); | 190 extension_service_.set_ready(false); |
| 190 | 191 |
| 191 // Removing an extension that was never added should be ok. | 192 // Removing an extension that was never added should be ok. |
| 192 component_loader_.Remove(extension_path_); | 193 component_loader_.Remove(extension_path_); |
| 193 ASSERT_EQ(0u, extension_service_.extensions()->size()); | 194 ASSERT_EQ(0u, extension_service_.extensions()->size()); |
| 194 | 195 |
| 195 // Try adding and removing before LoadAll() is called. | 196 // Try adding and removing before LoadAll() is called. |
| 196 component_loader_.Add(manifest_contents_, extension_path_); | 197 component_loader_.Add(manifest_contents_, extension_path_); |
| 197 component_loader_.Remove(extension_path_); | 198 component_loader_.Remove(extension_path_); |
| 198 component_loader_.LoadAll(); | 199 component_loader_.LoadAll(); |
| 199 ASSERT_EQ(0u, extension_service_.extensions()->size()); | 200 ASSERT_EQ(0u, extension_service_.extensions()->size()); |
| 200 | 201 |
| 201 // Load an extension, and check that it's unloaded when Remove() is called. | 202 // Load an extension, and check that it's unloaded when Remove() is called. |
| 202 scoped_refptr<const Extension> extension; | |
| 203 extension_service_.set_ready(true); | 203 extension_service_.set_ready(true); |
| 204 extension = component_loader_.Add(manifest_contents_, extension_path_); | 204 std::string extension_id = |
| 205 ASSERT_NE((Extension*)NULL, extension.get()); | 205 component_loader_.Add(manifest_contents_, extension_path_); |
| 206 ASSERT_EQ(1u, extension_service_.extensions()->size()); | |
| 206 component_loader_.Remove(extension_path_); | 207 component_loader_.Remove(extension_path_); |
| 207 ASSERT_EQ(0u, extension_service_.extensions()->size()); | 208 ASSERT_EQ(0u, extension_service_.extensions()->size()); |
| 208 | 209 |
| 209 // And after calling LoadAll(), it shouldn't get loaded. | 210 // And after calling LoadAll(), it shouldn't get loaded. |
| 210 component_loader_.LoadAll(); | 211 component_loader_.LoadAll(); |
| 211 ASSERT_EQ(0u, extension_service_.extensions()->size()); | 212 ASSERT_EQ(0u, extension_service_.extensions()->size()); |
| 212 } | 213 } |
| 213 | 214 |
| 214 TEST_F(ComponentLoaderTest, LoadAll) { | 215 TEST_F(ComponentLoaderTest, LoadAll) { |
| 215 extension_service_.set_ready(false); | 216 extension_service_.set_ready(false); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 280 ASSERT_EQ(default_count + 1, extension_service_.extensions()->size()); | 281 ASSERT_EQ(default_count + 1, extension_service_.extensions()->size()); |
| 281 ASSERT_EQ(0u, extension_service_.unloaded_count()); | 282 ASSERT_EQ(0u, extension_service_.unloaded_count()); |
| 282 | 283 |
| 283 // replace loaded component extension. | 284 // replace loaded component extension. |
| 284 component_loader_.AddOrReplace(known_extension); | 285 component_loader_.AddOrReplace(known_extension); |
| 285 ASSERT_EQ(default_count + 1, extension_service_.extensions()->size()); | 286 ASSERT_EQ(default_count + 1, extension_service_.extensions()->size()); |
| 286 ASSERT_EQ(1u, extension_service_.unloaded_count()); | 287 ASSERT_EQ(1u, extension_service_.unloaded_count()); |
| 287 } | 288 } |
| 288 | 289 |
| 289 } // namespace extensions | 290 } // namespace extensions |
| OLD | NEW |