inspect_ui_browsertest.cc revision effb81e5f8246d0db0270817048dc992db66e9fb
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 3// found in the LICENSE file. 4 5#include "chrome/browser/devtools/devtools_adb_bridge.h" 6#include "chrome/browser/ui/browser.h" 7#include "chrome/browser/ui/tabs/tab_strip_model.h" 8#include "chrome/common/url_constants.h" 9#include "chrome/test/base/ui_test_utils.h" 10#include "chrome/test/base/web_ui_browsertest.h" 11#include "content/public/browser/navigation_details.h" 12#include "content/public/browser/web_contents.h" 13#include "content/public/test/browser_test_utils.h" 14 15using content::WebContents; 16 17namespace { 18 19const char kSharedWorkerTestPage[] = 20 "files/workers/workers_ui_shared_worker.html"; 21const char kSharedWorkerJs[] = 22 "files/workers/workers_ui_shared_worker.js"; 23 24class InspectUITest : public WebUIBrowserTest { 25 public: 26 InspectUITest() {} 27 28 virtual void SetUpOnMainThread() OVERRIDE { 29 WebUIBrowserTest::SetUpOnMainThread(); 30 AddLibrary(base::FilePath(FILE_PATH_LITERAL("inspect_ui_test.js"))); 31 } 32 33 private: 34 DISALLOW_COPY_AND_ASSIGN(InspectUITest); 35}; 36 37IN_PROC_BROWSER_TEST_F(InspectUITest, InspectUIPage) { 38 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); 39 ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest( 40 "testTargetListed", 41 new base::StringValue("#pages"), 42 new base::StringValue("populateWebContentsTargets"), 43 new base::StringValue(chrome::kChromeUIInspectURL))); 44} 45 46IN_PROC_BROWSER_TEST_F(InspectUITest, SharedWorker) { 47 ASSERT_TRUE(test_server()->Start()); 48 GURL url = test_server()->GetURL(kSharedWorkerTestPage); 49 ui_test_utils::NavigateToURL(browser(), url); 50 51 ui_test_utils::NavigateToURLWithDisposition( 52 browser(), 53 GURL(chrome::kChromeUIInspectURL), 54 NEW_FOREGROUND_TAB, 55 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 56 57 ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest( 58 "testTargetListed", 59 new base::StringValue("#workers"), 60 new base::StringValue("populateWorkerTargets"), 61 new base::StringValue(kSharedWorkerJs))); 62 63 ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest( 64 "testTargetListed", 65 new base::StringValue("#pages"), 66 new base::StringValue("populateWebContentsTargets"), 67 new base::StringValue(kSharedWorkerTestPage))); 68} 69 70IN_PROC_BROWSER_TEST_F(InspectUITest, AdbTargets) { 71 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); 72 73 scoped_refptr<DevToolsAdbBridge> adb_bridge = 74 DevToolsAdbBridge::Factory::GetForProfile(browser()->profile()); 75 adb_bridge->set_device_provider_for_test( 76 AndroidDeviceProvider::GetMockDeviceProviderForTest()); 77 78 ASSERT_TRUE(WebUIBrowserTest::RunJavascriptAsyncTest("testAdbTargetsListed")); 79} 80 81IN_PROC_BROWSER_TEST_F(InspectUITest, ReloadCrash) { 82 ASSERT_TRUE(test_server()->Start()); 83 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); 84 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL)); 85} 86 87} // namespace 88