Index: chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc |
diff --git a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc |
index 111f8d226f4cd279a349b02b6b91470b3942b384..0da4bdc6f27f3ef3ad47d065beda98f71ec05e71 100644 |
--- a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc |
+++ b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc |
@@ -26,6 +26,7 @@ |
#include "content/public/test/test_utils.h" |
#include "extensions/browser/extension_registry.h" |
#include "extensions/browser/extension_system.h" |
+#include "extensions/browser/test_extension_registry_observer.h" |
#include "extensions/common/extension_set.h" |
using extensions::Extension; |
@@ -59,7 +60,20 @@ void ExtensionSettingsUIBrowserTest::InstallGoodExtension() { |
return; |
} |
base::FilePath extensions_data_dir = test_data_dir.AppendASCII("extensions"); |
- InstallExtension(extensions_data_dir.AppendASCII("good.crx")); |
+ EXPECT_TRUE(InstallExtension(extensions_data_dir.AppendASCII("good.crx"))); |
+} |
+ |
+void ExtensionSettingsUIBrowserTest::InstallErrorsExtension() { |
+ base::FilePath test_data_dir; |
+ if (!PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir)) { |
+ ADD_FAILURE(); |
+ return; |
+ } |
+ base::FilePath extensions_data_dir = test_data_dir.AppendASCII("extensions"); |
+ extensions_data_dir = extensions_data_dir.AppendASCII("error_console"); |
+ EXPECT_TRUE(InstallUnpackedExtension( |
+ extensions_data_dir.AppendASCII("runtime_and_manifest_errors"), |
+ "pdlpifnclfacjobnmbpngemkalkjamnf")); |
} |
void ExtensionSettingsUIBrowserTest::AddManagedPolicyProvider() { |
@@ -81,9 +95,29 @@ class MockAutoConfirmExtensionInstallPrompt : public ExtensionInstallPrompt { |
} |
}; |
+const Extension* ExtensionSettingsUIBrowserTest::InstallUnpackedExtension( |
+ const base::FilePath& path, const char* id) { |
+ if (path.empty()) |
+ return NULL; |
+ |
+ Profile* profile = GetProfile(); |
+ ExtensionService* service = |
+ extensions::ExtensionSystem::Get(profile)->extension_service(); |
+ service->set_show_extensions_prompts(false); |
+ extensions::ExtensionRegistry* registry = |
+ extensions::ExtensionRegistry::Get(profile); |
+ extensions::TestExtensionRegistryObserver observer(registry, id); |
+ |
+ extensions::UnpackedInstaller::Create(service)->Load(path); |
+ |
+ // Test will timeout if extension is not loaded. |
+ observer.WaitForExtensionLoaded(); |
+ return service->GetExtensionById(last_loaded_extension_id(), false); |
+} |
+ |
const Extension* ExtensionSettingsUIBrowserTest::InstallExtension( |
const base::FilePath& path) { |
- Profile* profile = this->GetProfile(); |
+ Profile* profile = GetProfile(); |
ExtensionService* service = |
extensions::ExtensionSystem::Get(profile)->extension_service(); |
extensions::ExtensionRegistry* registry = |