summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extensions_service_unittest.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-17 22:30:21 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-17 22:30:21 +0000
commit54cb3c94a523dd6fc02bcb93b92de9ed41c99bab (patch)
tree4341f2379491c921696f5d2a2efcc6e20bc52c3a /chrome/browser/extensions/extensions_service_unittest.cc
parenta239c3f7a4dbf736b6b5dce686619819f6c86f18 (diff)
downloadchromium_src-54cb3c94a523dd6fc02bcb93b92de9ed41c99bab.zip
chromium_src-54cb3c94a523dd6fc02bcb93b92de9ed41c99bab.tar.gz
chromium_src-54cb3c94a523dd6fc02bcb93b92de9ed41c99bab.tar.bz2
Do two TODOs related to --load-extension:
* Stop watching extension dirs for user script changes. * Stop supporting unversioned extension dirs. Also a few minor related cleanups. Review URL: http://codereview.chromium.org/20390 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9909 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extensions_service_unittest.cc')
-rw-r--r--chrome/browser/extensions/extensions_service_unittest.cc40
1 files changed, 31 insertions, 9 deletions
diff --git a/chrome/browser/extensions/extensions_service_unittest.cc b/chrome/browser/extensions/extensions_service_unittest.cc
index 49e37a3..75a97a0 100644
--- a/chrome/browser/extensions/extensions_service_unittest.cc
+++ b/chrome/browser/extensions/extensions_service_unittest.cc
@@ -124,11 +124,12 @@ class ExtensionsServiceTestFrontend
// make the test a PlatformTest to setup autorelease pools properly on mac
typedef PlatformTest ExtensionsServiceTest;
-// Test loading extensions from the profile directory.
-TEST_F(ExtensionsServiceTest, LoadAllExtensionsFromDirectory) {
+// Test loading good extensions from the profile directory.
+TEST_F(ExtensionsServiceTest, LoadAllExtensionsFromDirectorySuccess) {
FilePath extensions_path;
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
extensions_path = extensions_path.AppendASCII("extensions");
+ extensions_path = extensions_path.AppendASCII("good");
scoped_refptr<ExtensionsServiceBackend> backend(new ExtensionsServiceBackend);
scoped_refptr<ExtensionsServiceTestFrontend> frontend(
@@ -139,9 +140,6 @@ TEST_F(ExtensionsServiceTest, LoadAllExtensionsFromDirectory) {
scoped_refptr<ExtensionsServiceFrontendInterface>(frontend.get())));
frontend->GetMessageLoop()->RunAllPending();
- // Note: There can be more errors if there are extra directories, like .svn
- // directories.
- EXPECT_TRUE(frontend->errors()->size() >= 2u);
ASSERT_EQ(3u, frontend->extensions()->size());
EXPECT_EQ(std::string("com.google.myextension1"),
@@ -183,6 +181,28 @@ TEST_F(ExtensionsServiceTest, LoadAllExtensionsFromDirectory) {
ASSERT_EQ(0u, frontend->extensions()->at(2)->user_scripts().size());
};
+// Test loading bad extensions from the profile directory.
+TEST_F(ExtensionsServiceTest, LoadAllExtensionsFromDirectoryFail) {
+ FilePath extensions_path;
+ ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
+ extensions_path = extensions_path.AppendASCII("extensions");
+ extensions_path = extensions_path.AppendASCII("bad");
+
+ scoped_refptr<ExtensionsServiceBackend> backend(new ExtensionsServiceBackend);
+ scoped_refptr<ExtensionsServiceTestFrontend> frontend(
+ new ExtensionsServiceTestFrontend);
+
+ std::vector<Extension*> extensions;
+ EXPECT_TRUE(backend->LoadExtensionsFromDirectory(extensions_path,
+ scoped_refptr<ExtensionsServiceFrontendInterface>(frontend.get())));
+ frontend->GetMessageLoop()->RunAllPending();
+
+ // Note: There can be more errors if there are extra directories, like .svn
+ // directories.
+ EXPECT_TRUE(frontend->errors()->size() >= 3u);
+ ASSERT_EQ(0u, frontend->extensions()->size());
+};
+
// Test installing extensions.
TEST_F(ExtensionsServiceTest, InstallExtension) {
FilePath extensions_path;
@@ -231,18 +251,20 @@ TEST_F(ExtensionsServiceTest, LoadExtension) {
scoped_refptr<ExtensionsServiceTestFrontend> frontend(
new ExtensionsServiceTestFrontend);
- FilePath ext1 = extensions_path.AppendASCII("extension1");
+ FilePath ext1 = extensions_path.AppendASCII("good").AppendASCII("extension1")
+ .AppendASCII("1");
EXPECT_TRUE(backend->LoadSingleExtension(ext1,
scoped_refptr<ExtensionsServiceFrontendInterface>(frontend.get())));
frontend->GetMessageLoop()->RunAllPending();
- EXPECT_EQ(frontend->errors()->size(), 0u);
+ EXPECT_EQ(0u, frontend->errors()->size());
ASSERT_EQ(1u, frontend->extensions()->size());
- FilePath no_manifest = extensions_path.AppendASCII("no_manifest");
+ FilePath no_manifest = extensions_path.AppendASCII("bad")
+ .AppendASCII("no_manifest").AppendASCII("1");
EXPECT_FALSE(backend->LoadSingleExtension(no_manifest,
scoped_refptr<ExtensionsServiceFrontendInterface>(frontend.get())));
frontend->GetMessageLoop()->RunAllPending();
- EXPECT_EQ(frontend->errors()->size(), 1u);
+ EXPECT_EQ(1u, frontend->errors()->size());
ASSERT_EQ(1u, frontend->extensions()->size());
}