Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(836)

Unified Diff: chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc

Issue 1049483003: [Extensions] Update extensions UI to observe events and add test (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 0da4bdc6f27f3ef3ad47d065beda98f71ec05e71..16cc98fa60ca2d5f9d8ba837c916e12e4597166f 100644
--- a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc
+++ b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc
@@ -24,6 +24,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_utils.h"
+#include "extensions/browser/api/management/management_api.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/test_extension_registry_observer.h"
@@ -36,7 +37,10 @@ ExtensionSettingsUIBrowserTest::ExtensionSettingsUIBrowserTest()
: profile_(NULL),
policy_provider_(TestManagementPolicyProvider::PROHIBIT_MODIFY_STATUS |
TestManagementPolicyProvider::MUST_REMAIN_ENABLED |
- TestManagementPolicyProvider::MUST_REMAIN_INSTALLED) {}
+ TestManagementPolicyProvider::MUST_REMAIN_INSTALLED) {
+ CHECK(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_));
+ test_data_dir_ = test_data_dir_.AppendASCII("extensions");
+}
ExtensionSettingsUIBrowserTest::~ExtensionSettingsUIBrowserTest() {}
@@ -54,26 +58,27 @@ void ExtensionSettingsUIBrowserTest::SetUpOnMainThread() {
}
void ExtensionSettingsUIBrowserTest::InstallGoodExtension() {
- 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");
- EXPECT_TRUE(InstallExtension(extensions_data_dir.AppendASCII("good.crx")));
+ EXPECT_TRUE(InstallExtension(test_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"));
+ test_data_dir_.AppendASCII("error_console")
+ .AppendASCII("runtime_and_manifest_errors")));
+}
+
+void ExtensionSettingsUIBrowserTest::InstallSharedModule() {
+ base::FilePath shared_module_path =
+ test_data_dir_.AppendASCII("api_test").AppendASCII("shared_module");
+ EXPECT_TRUE(InstallUnpackedExtension(
+ shared_module_path.AppendASCII("shared")));
+ EXPECT_TRUE(InstallUnpackedExtension(
+ shared_module_path.AppendASCII("import_pass")));
+}
+
+void ExtensionSettingsUIBrowserTest::InstallPackagedApp() {
+ EXPECT_TRUE(InstallUnpackedExtension(
+ test_data_dir_.AppendASCII("packaged_app")));
}
void ExtensionSettingsUIBrowserTest::AddManagedPolicyProvider() {
@@ -81,6 +86,10 @@ void ExtensionSettingsUIBrowserTest::AddManagedPolicyProvider() {
extension_service->management_policy()->RegisterProvider(&policy_provider_);
}
+void ExtensionSettingsUIBrowserTest::SetAutoConfirmUninstall() {
+ extensions::ManagementUninstallFunctionBase::SetAutoConfirmForTest(true);
+}
+
class MockAutoConfirmExtensionInstallPrompt : public ExtensionInstallPrompt {
public:
explicit MockAutoConfirmExtensionInstallPrompt(
@@ -96,7 +105,7 @@ class MockAutoConfirmExtensionInstallPrompt : public ExtensionInstallPrompt {
};
const Extension* ExtensionSettingsUIBrowserTest::InstallUnpackedExtension(
- const base::FilePath& path, const char* id) {
+ const base::FilePath& path) {
if (path.empty())
return NULL;
@@ -106,13 +115,15 @@ const Extension* ExtensionSettingsUIBrowserTest::InstallUnpackedExtension(
service->set_show_extensions_prompts(false);
extensions::ExtensionRegistry* registry =
extensions::ExtensionRegistry::Get(profile);
- extensions::TestExtensionRegistryObserver observer(registry, id);
-
+ extensions::TestExtensionRegistryObserver observer(registry);
extensions::UnpackedInstaller::Create(service)->Load(path);
+ base::FilePath extension_path = base::MakeAbsoluteFilePath(path);
+ const Extension* extension = nullptr;
+ do {
+ extension = observer.WaitForExtensionLoaded();
+ } while (extension->path() != extension_path);
- // Test will timeout if extension is not loaded.
- observer.WaitForExtensionLoaded();
- return service->GetExtensionById(last_loaded_extension_id(), false);
+ return extension;
}
const Extension* ExtensionSettingsUIBrowserTest::InstallExtension(

Powered by Google App Engine
This is Rietveld 408576698