blob: 2cd71942fcc54af5fb60b477f37c001ef4ae6be0 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function(testRunner) {
let {page, session, dp} = await testRunner.startWithFrameControl(
'Tests renderer: window location fragments.');
let RendererTestHelper =
await testRunner.loadScript('../helpers/renderer-test-helper.js');
let {httpInterceptor, frameNavigationHelper, virtualTimeController} =
await (new RendererTestHelper(testRunner, dp, page)).init();
httpInterceptor.addResponse('http://www.example.com/#fragment1', `<script>
if (window.location.hash == '#fragment1') {
document.write('<iframe id="frame" src="iframe#fragment2"></iframe>');
}
</script>`);
httpInterceptor.addResponse(
'http://www.example.com/iframe#fragment2', `<script>
if (window.location.hash == '#fragment2') {
document.location = 'http://www.example.com/pass';
}
</script>)`);
httpInterceptor.addResponse('http://www.example.com/pass', `<p>Pass</p>`);
await virtualTimeController.initialize(1000);
await frameNavigationHelper.navigate('http://www.example.com/#fragment1');
await virtualTimeController.grantTime(1000);
testRunner.log(await session.evaluate(
`document.getElementById('frame').contentDocument.body.innerText`));
testRunner.completeTest();
})