OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
pfeldman
2013/03/04 11:48:42
This should be placed next to the implementation,
Vladislav Kaznacheev
2013/03/04 14:30:03
Done.
| |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 var pass = chrome.test.callbackPass; | |
6 var fail = chrome.test.callbackFail; | |
7 | |
8 function requestUrl(url, callback) { | |
9 var req = new XMLHttpRequest(); | |
10 req.open('GET', url, true); | |
11 req.onload = function() { | |
12 if (req.status == 200) | |
13 callback(req.responseText); | |
14 else | |
15 req.onerror(); | |
16 }; | |
17 req.onerror = function() { | |
18 chrome.test.fail('XHR failed: ' + req.status); | |
19 }; | |
20 req.send(null); | |
21 } | |
22 | |
23 var REMOTE_DEBUGGER_HOST = 'localhost:9222'; | |
24 | |
25 function checkTarget(targets, url, type, opt_title, opt_faviconUrl) { | |
26 var target = | |
27 targets.filter(function(t) { return t.url == url }) [0]; | |
28 if (!target) | |
29 chrome.test.fail('Cannot find a target with url ' + url); | |
30 | |
31 var wsAddress = REMOTE_DEBUGGER_HOST + '/devtools/page/' + target.id; | |
32 | |
33 chrome.test.assertEq( | |
34 '/devtools/devtools.html?ws=' + wsAddress, | |
35 target.devtoolsFrontendUrl); | |
36 chrome.test.assertEq(opt_faviconUrl || '', target.faviconUrl); | |
37 chrome.test.assertEq('/thumb/' + target.url, target.thumbnailUrl); | |
38 chrome.test.assertEq(opt_title || target.url, target.title); | |
39 chrome.test.assertEq(type, target.type); | |
40 chrome.test.assertEq('ws://' + wsAddress, target.webSocketDebuggerUrl); | |
41 } | |
42 | |
43 chrome.test.runTests([ | |
44 function discoverTargets() { | |
45 var testPageUrl = chrome.extension.getURL('test_page.html'); | |
46 | |
47 chrome.tabs.create({url: testPageUrl}, function() { | |
48 requestUrl('http://' + REMOTE_DEBUGGER_HOST + '/json', function(text) { | |
49 var targets = JSON.parse(text); | |
50 | |
51 checkTarget(targets, 'about:blank', 'page'); | |
52 checkTarget(targets, testPageUrl, 'page', 'Test page', | |
53 chrome.extension.getURL('favicon.png')); | |
54 checkTarget(targets, | |
55 chrome.extension.getURL('_generated_background_page.html'), | |
56 'other'); | |
57 | |
58 chrome.test.succeed(); | |
59 }); | |
60 }); | |
61 } | |
62 ]); | |
OLD | NEW |