blob: 3ba5c8b3e1216d78ce51f2fca75104f45014d030 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult('Tests that hyperlink auditing (ping) requests appear in network panel')
await TestRunner.loadModule('network_test_runner');
await TestRunner.showPanel('network');
await TestRunner.loadHTML(`<a id="pingLink" href="#" ping="ping.js">ping</a>`);
await TestRunner.evaluateInPagePromise(`
testRunner.overridePreference("WebKitHyperlinkAuditingEnabled", 1);
function navigateLink()
{
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click");
var link = document.getElementById("pingLink");
link.dispatchEvent(evt);
}
`);
const snifferPromise = TestRunner.addSnifferPromise(SDK.NetworkDispatcher.prototype, 'requestWillBeSent');
TestRunner.evaluateInPage('navigateLink()');
await snifferPromise;
const networkRequests = NetworkTestRunner.networkRequests();
var request = networkRequests[networkRequests.length - 1];
if (request.url().endsWith('/')) {
await TestRunner.addSnifferPromise(SDK.NetworkDispatcher.prototype, 'requestWillBeSent');
request = NetworkTestRunner.networkRequests().pop();
}
TestRunner.addResult(request.url());
TestRunner.addResult('resource.requestContentType: ' + request.requestContentType());
TestRunner.completeTest();
})();