blob: f5ad0504758b09e9024161db1c5ef83be9d0f8bf [file] [log] [blame]
<html>
<head>
<script src="../inspector-test.js"></script>
<script src="../network-test.js"></script>
<script>
function test()
{
function lastRequest()
{
return InspectorTest.networkRequests().pop();
}
function dumpRequest(request)
{
InspectorTest.addResult("Dumping request: ");
InspectorTest.addResult(" url: " + request.url());
if (request.requestFormData)
InspectorTest.addResult(" requestFormData: " + request.requestFormData);
InspectorTest.addResult(" requestMethod: " + request.requestMethod);
InspectorTest.addResult(" test request header value: " + request.requestHeaderValue("headerName"));
}
function assertRequestEqual(request1, request2)
{
InspectorTest.assertEquals(request1.url(), request2.url(), "Requests have different url");
InspectorTest.assertEquals(request1.requestFormData, request2.requestFormData, "Requests have different requestFormData");
InspectorTest.assertEquals(request1.requestMethod, request2.requestMethod, "Requests have different requestMethod");
InspectorTest.assertEquals(request1.requestHeadersText, request2.requestHeadersText, "Requests have different requestHeadersText");
}
function testXHRReplay(method, url, async, user, password, headers, withCredentials, payload, type, callback)
{
InspectorTest.makeXHR(method, url, async, user, password, headers, withCredentials, payload, type, step2);
var originalRequest;
function step2()
{
originalRequest = lastRequest();
dumpRequest(originalRequest);
InspectorTest.NetworkAgent.replayXHR(originalRequest.requestId());
InspectorTest.addSniffer(Network.NetworkLogView.prototype, "_appendRequest", step3);
}
function step3()
{
var replayedRequest = lastRequest();
assertRequestEqual(originalRequest, replayedRequest);
callback();
}
}
InspectorTest.runTestSuite([
function testGetStaticAsync(next)
{
testXHRReplay("GET", "resources/empty.html", true, null, null, [["headerName", "headerValueA"]], false, undefined, undefined, next);
},
function testGetStaticSync(next)
{
testXHRReplay("GET", "resources/empty.html", false, null, null, [["headerName", "headerValueB"]], false, undefined, undefined, next);
},
function testGetCachedAsync(next)
{
testXHRReplay("GET", "resources/random-cached.php", true, null, null, [["headerName", "headerValueC"]], false, undefined, undefined, next);
},
function testGetCachedSync(next)
{
testXHRReplay("GET", "resources/random-cached.php", false, null, null, [["headerName", "headerValueD"]], false, undefined, undefined, next);
},
function testGetRandomAsync(next)
{
testXHRReplay("GET", "resources/random.php", true, null, null, [["headerName", "headerValueE"]], false, undefined, undefined, next);
},
function testGetRandomSync(next)
{
testXHRReplay("GET", "resources/random.php", false, null, null, [["headerName", "headerValueF"]], false, undefined, undefined, next);
},
function testPostAsync(next)
{
testXHRReplay("POST", "resources/random.php", true, null, null, [["headerName", "headerValueG"]], false, "payload", undefined, next);
},
function testPostSync(next)
{
testXHRReplay("POST", "resources/random.php", false, null, null, [["headerName", "headerValueH"]], false, "payload", undefined, next);
}
]);
}
</script>
</head>
<body onload="runTest()">
Tests XHR replaying.
<a href="https://bugs.webkit.org/show_bug.cgi?id=95187">Bug 95187</a>
</body>
</html>