blob: 354723f803606cb16fd7b71021d208d635c62b28 [file] [log] [blame]
(async function(testRunner) {
var {page, session, dp} = await testRunner.startBlank(
'Tests that the url fragment is reported by Page.frameNavigated.');
dp.Page.enable();
function normalizeUrl(url) {
if (typeof url === 'undefined') return undefined;
return url.split('/').pop();
}
{
testRunner.log('No Fragment');
session.evaluate(`
var frame = document.createElement('iframe');
frame.src = '${testRunner.url('../resources/simple-iframe.html')}';
document.body.appendChild(frame);
`);
let result = await dp.Page.onceFrameNavigated();
testRunner.log('url = ' + normalizeUrl(result.params.frame.url));
testRunner.log('urlFragment = ' + result.params.frame.urlFragment);
testRunner.log('UnreachableUrl = ' + normalizeUrl(result.params.frame.unreachableUrl));
testRunner.log('');
}
{
testRunner.log('Empty Fragment');
session.evaluate(`
var frame = document.createElement('iframe');
frame.src = '${testRunner.url('../resources/simple-iframe.html#')}';
document.body.appendChild(frame);
`);
let result = await dp.Page.onceFrameNavigated();
testRunner.log('url = ' + normalizeUrl(result.params.frame.url));
testRunner.log('urlFragment = ' + result.params.frame.urlFragment);
testRunner.log('UnreachableUrl = ' + normalizeUrl(result.params.frame.unreachableUrl));
testRunner.log('');
}
{
testRunner.log('Normal Fragment');
session.evaluate(`
var frame = document.createElement('iframe');
frame.src = '${testRunner.url('../resources/simple-iframe.html#fragment')}';
document.body.appendChild(frame);
`);
let result = await dp.Page.onceFrameNavigated();
testRunner.log('url = ' + normalizeUrl(result.params.frame.url));
testRunner.log('urlFragment = ' + result.params.frame.urlFragment);
testRunner.log('UnreachableUrl = ' + normalizeUrl(result.params.frame.unreachableUrl));
testRunner.log('');
}
{
testRunner.log('Unreachable Fragment');
session.evaluate(`
var frame = document.createElement('iframe');
frame.src = '${testRunner.url('../resources/idont_exist.html#fragment')}';
document.body.appendChild(frame);
`);
let result = await dp.Page.onceFrameNavigated();
testRunner.log('url = ' + result.params.frame.url);
testRunner.log('urlFragment = ' + result.params.frame.urlFragment);
testRunner.log('UnreachableUrl = ' + normalizeUrl(result.params.frame.unreachableUrl));
}
testRunner.completeTest();
})