blob: d4a8e31215e3e44af7610c568db0f02e86ac5dc3 [file] [log] [blame]
<html>
<head>
<script src="../http/tests/inspector/inspector-test.js"></script>
<script>
function test() {
var requestsToWatch = /\/network-test\.js$|\/non-existent-file.js$|^data:application\/javascript,|/;
var seenRequests = 0;
function dumpRequests()
{
var logView = WebInspector.panels.network._networkLogView;
logView.refresh();
var dataGrid = logView.element.querySelector("table.data");
var urls = document.evaluate("//tbody/tr/td[position()=1]/div/@title", dataGrid, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var outputStrings = [];
for (var i = 0; i < urls.snapshotLength; ++i) {
var url = urls.snapshotItem(i).value;
if (requestsToWatch.test(url)) {
var urlFragment = /^data:/.test(url) ? url.replace(/,.*$/, "") : url.replace(/.*\//, "");
var status = document.evaluate("ancestor::tr/td[position()=3]", urls.snapshotItem(i), null, XPathResult.STRING_TYPE, null);
var outputStatus = status.stringValue;
// Truncate the status string on failure, since the description following "(failed)" is platform-dependent.
if (outputStatus.startsWith("(failed)"))
outputStatus = "(failed)";
outputStrings.push(urlFragment + ": " + outputStatus);
}
}
outputStrings.sort();
InspectorTest.addObject(outputStrings);
InspectorTest.completeTest();
}
function onRequestFinished(request)
{
if (!requestsToWatch.test(request.url))
return;
if (++seenRequests === 3)
dumpRequests();
}
WebInspector.networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestFinished, onRequestFinished);
WebInspector.showPanel("network");
InspectorTest.evaluateInPage("loadResources()");
}
function addScriptElement(src)
{
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function loadResources()
{
addScriptElement("../http/tests/inspector/network-test.js");
addScriptElement("non-existent-file.js");
addScriptElement("data:application/javascript,var x = 0;");
}
</script>
</head>
<body onload="runTest()">
</body>
</html>