Index: chrome/browser/ui/webui/inspect_ui_browsertest.cc |
diff --git a/chrome/browser/ui/webui/inspect_ui_browsertest.cc b/chrome/browser/ui/webui/inspect_ui_browsertest.cc |
index 30287448b2b064e966bd8d83c1dc56092fb271ac..bf673d5ef211c7d81f7b161c4dd1c26d3e731030 100644 |
--- a/chrome/browser/ui/webui/inspect_ui_browsertest.cc |
+++ b/chrome/browser/ui/webui/inspect_ui_browsertest.cc |
@@ -2,11 +2,16 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "base/files/file_path.h" |
+#include "base/path_service.h" |
+#include "chrome/browser/devtools/devtools_adb_bridge.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
+#include "chrome/browser/ui/webui/extensions/extension_settings_browsertest.h" |
+#include "chrome/common/chrome_paths.h" |
#include "chrome/common/url_constants.h" |
-#include "chrome/test/base/in_process_browser_test.h" |
#include "chrome/test/base/ui_test_utils.h" |
+#include "chrome/test/base/web_ui_browsertest.h" |
#include "content/public/browser/navigation_details.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/test/browser_test_utils.h" |
@@ -20,17 +25,28 @@ const char kSharedWorkerTestPage[] = |
const char kSharedWorkerJs[] = |
"files/workers/workers_ui_shared_worker.js"; |
-class InspectUITest : public InProcessBrowserTest { |
+class InspectUITest : public WebUIBrowserTest { |
public: |
InspectUITest() {} |
+ virtual void SetUpOnMainThread() OVERRIDE { |
+ WebUIBrowserTest::SetUpOnMainThread(); |
+ AddLibrary(base::FilePath(FILE_PATH_LITERAL("inspect_ui_test.js"))); |
+ } |
+ |
private: |
DISALLOW_COPY_AND_ASSIGN(InspectUITest); |
}; |
-// The test fails on Mac OS X and Windows, see crbug.com/89583 |
-// Intermittently fails on Linux. |
-IN_PROC_BROWSER_TEST_F(InspectUITest, DISABLED_SharedWorkersList) { |
+IN_PROC_BROWSER_TEST_F(InspectUITest, InspectUIPage) { |
+ ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); |
+ ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest( |
+ "testTargetListed", |
+ new base::StringValue("#pages"), |
+ new base::StringValue(chrome::kChromeUIInspectURL))); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(InspectUITest, SharedWorker) { |
ASSERT_TRUE(test_server()->Start()); |
GURL url = test_server()->GetURL(kSharedWorkerTestPage); |
ui_test_utils::NavigateToURL(browser(), url); |
@@ -41,27 +57,50 @@ IN_PROC_BROWSER_TEST_F(InspectUITest, DISABLED_SharedWorkersList) { |
NEW_FOREGROUND_TAB, |
ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
- WebContents* web_contents = |
- browser()->tab_strip_model()->GetActiveWebContents(); |
- ASSERT_TRUE(web_contents != NULL); |
- |
- std::string result; |
- ASSERT_TRUE( |
- content::ExecuteScriptAndExtractString( |
- web_contents, |
- "window.domAutomationController.send(" |
- " '' + document.body.textContent);", |
- &result)); |
- ASSERT_TRUE(result.find(kSharedWorkerJs) != std::string::npos); |
- ASSERT_TRUE(result.find(kSharedWorkerTestPage) != std::string::npos); |
+ ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest( |
+ "testTargetListed", |
+ new base::StringValue("#workers"), |
+ new base::StringValue(kSharedWorkerJs))); |
+ |
+ ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest( |
+ "testTargetListed", |
+ new base::StringValue("#pages"), |
+ new base::StringValue(kSharedWorkerTestPage))); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(InspectUITest, AdbTargets) { |
+ ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); |
+ |
+ scoped_refptr<DevToolsAdbBridge> adb_bridge = |
+ DevToolsAdbBridge::Factory::GetForProfile(browser()->profile()); |
+ adb_bridge->set_device_provider_for_test( |
+ AndroidDeviceProvider::GetMockDeviceProviderForTest()); |
+ |
+ ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest("testAdbTargetsListed")); |
} |
IN_PROC_BROWSER_TEST_F(InspectUITest, ReloadCrash) { |
ASSERT_TRUE(test_server()->Start()); |
- // Make sure that loading the inspect UI twice in the same tab |
- // connects/disconnects listeners without crashing. |
ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); |
ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); |
} |
+IN_PROC_BROWSER_TEST_F(ExtensionSettingsUIBrowserTest, ExtensionTarget) { |
+ AddLibrary(base::FilePath(FILE_PATH_LITERAL("inspect_ui_test.js"))); |
+ ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); |
+ |
+ 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("webui"); |
+ InstallExtension(extensions_data_dir.AppendASCII("inspectable.crx")); |
+ |
+ ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest( |
+ "testTargetListed", |
+ new base::StringValue("#extensions"), |
+ new base::StringValue(last_loaded_extension_id()))); |
+} |
+ |
} // namespace |