Chromium Code Reviews| 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 |