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

Side by Side Diff: chrome/test/data/webui/inspect_ui_test.js

Issue 208013003: DevTools: Create end-to-end test for chrome://inspect (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reimplemented as WebUIBrowserTest Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 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 function waitForElements(selector, callback, timeout) {
6 var deadline = Date.now() + 3000;
7 function check() {
8 var elements = document.querySelectorAll(selector);
9 if (elements.length) {
10 callback(elements);
11 } else if (Date.now() < deadline) {
12 setTimeout(check, 100);
pfeldman 2014/03/26 09:18:45 timeout in tests is a 100% guarantee of flake. you
13 } else {
14 expectNotReached('DOM element(s) missing: ' + selector);
15 testDone();
16 }
17 }
18 check();
19 }
20
21 function findByContentSubstring(elements, content, childSelector) {
22 return Array.prototype.filter.call(elements, function(element) {
23 if (childSelector)
24 element = element.querySelector(childSelector);
25 return element && element.textContent.indexOf(content) >= 0;
26 })[0];
27 }
28
29 function testTargetListed(sectionSelector, url) {
30 waitForElements(sectionSelector + ' .row', function(elements) {
31 var urlElement = findByContentSubstring(elements, url, '.url');
32 expectNotEquals(undefined, urlElement);
33 testDone();
34 });
35 }
36
37 function testAdbTargetsListed() {
38 waitForElements('.device', function(devices) {
39 expectEquals(2, devices.length);
40
41 var offlineDevice = findByContentSubstring(
42 devices, 'Offline', '.device-name');
43 expectNotEquals(undefined, offlineDevice);
44
45 var onlineDevice = findByContentSubstring(
46 devices, 'Nexus 6', '.device-name');
47 expectNotEquals(undefined, onlineDevice);
48
49 var browsers = onlineDevice.querySelectorAll('.browser');
50 expectEquals(4, browsers.length);
51
52 var chromeBrowser = findByContentSubstring(
53 browsers, 'Chrome (32.0.1679.0)', '.browser-name');
54 expectNotEquals(undefined, chromeBrowser);
55
56 var chromePages = chromeBrowser.querySelectorAll('.pages');
57 var chromiumPage = findByContentSubstring(
58 chromePages, 'http://www.chromium.org/', '.url');
59 expectNotEquals(undefined, chromiumPage);
60
61 var webView = findByContentSubstring(
62 browsers, 'WebView in com.sample.feed (4.0)', '.browser-name');
63 expectNotEquals(undefined, webView);
64
65 testDone();
66 });
67 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698