blob: d78083b342388222cdd06791cb60387762459c45 [file] [log] [blame]
<html>
<head>
<script src="../inspector-test.js"></script>
<script src="../network-test.js"></script>
<script>
function loadIFrame()
{
var iframe = document.createElement("iframe");
iframe.setAttribute("src", "resources/resource.php?size=50000");
document.body.appendChild(iframe);
}
function test()
{
InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype, "responseReceived", responseReceived);
InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype, "loadingFailed", loadingFailed);
InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype, "loadingFinished", loadingFinished);
InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype, "dataReceived", dataReceived);
InspectorTest.evaluateInPage("loadIFrame()");
var encodedBytesReceived = 0;
function responseReceived(requestId, loaderId, time, resourceType, response, frameId)
{
var request = InspectorTest.networkLog.requestByManagerAndId(InspectorTest.networkManager, requestId);
if (/resource\.php/.exec(request.url())) {
InspectorTest.addResult("Received response.");
encodedBytesReceived += response.encodedDataLength;
}
}
function loadingFinished(requestId, finishTime, encodedDataLength)
{
var request = InspectorTest.networkLog.requestByManagerAndId(InspectorTest.networkManager, requestId);
if (/resource\.php/.exec(request.url())) {
InspectorTest.assertEquals(encodedBytesReceived, encodedDataLength, "Data length mismatch");
InspectorTest.addResult("SUCCESS");
InspectorTest.completeTest();
}
}
function loadingFailed(requestId, time, localizedDescription, canceled)
{
var request = InspectorTest.networkLog.requestByManagerAndId(InspectorTest.networkManager, requestId);
if (/resource\.php/.exec(request.url())) {
InspectorTest.addResult("Loading failed!");
InspectorTest.completeTest();
}
}
function dataReceived(requestId, time, dataLength, encodedDataLength)
{
InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype, "dataReceived", dataReceived);
var request = InspectorTest.networkLog.requestByManagerAndId(InspectorTest.networkManager, requestId);
if (/resource\.php/.exec(request.url()))
encodedBytesReceived += encodedDataLength;
}
}
</script>
</head>
<body onload="runTest()">
<p>Tests that dataReceived is called on NetworkDispatcher for all incoming data.</p>
</body>
</html>