blob: 732e38e938646b774b38d51d206dc0f33efd35e3 [file]
<!doctype html>
<html>
<head>
<script src="../inspector/inspector-test.js"></script>
<script src="../inspector/network-test.js"></script>
<script>
function doXHR()
{
var xhr = new XMLHttpRequest();
xhr.open("POST", "resources/post-target.cgi", false);
xhr.setRequestHeader("Content-Type", "text/xml");
xhr.send("<xml></xml>");
}
async function test() {
await TestRunner.NetworkAgent.setCacheDisabled(true);
TestRunner.reloadPage(step1);
function step1() {
TestRunner.evaluateInPage('doXHR()', step2);
}
function step2() {
function findRequestByURL(url) {
var requests = NetworkTestRunner.networkRequests();
for (var i = 0; i < requests.length; ++i) {
if (url.test(requests[i].url()))
return requests[i];
}
}
function addCookieHeadersToRequest(request) {
request.setRequestHeaders([{name: 'Cookie', value: 'a=b; $Path=/path; $Domain=example.com; a1=b1\nc1=d1'}]);
request.responseHeaders = [{
name: 'Set-Cookie',
value:
'x=y; Path=/path; Domain=example.com; Discard; httpOnly; Secure; Version=1\nx1=y1; SameSite=Strict\nz2=y2; SameSite=Lax'
}];
}
addCookieHeadersToRequest(findRequestByURL(/inspector-test\.js$/));
var log = (new NetworkLog.HARLog(NetworkTestRunner.networkRequests())).build();
// Filter out favicon.ico requests that only appear on certain platforms.
log.entries = log.entries.filter(function(entry) {
return !/favicon\.ico$/.test(entry.request.url);
});
log.entries.sort(ApplicationTestRunner.requestURLComparer);
TestRunner.addObject(log, NetworkTestRunner.HARPropertyFormattersWithSize);
var pageTimings = log.pages[0].pageTimings;
TestRunner.completeTest();
}
}
</script>
</head>
<body onload="runTest()">
<p>
Tests conversion of Inspector's resource representation into HAR format.
</p>
</body>
</html>