| (async function(testRunner) { |
| var {page, session, dp} = |
| await testRunner.startHTML(` |
| <div></div> |
| <script> |
| document.querySelector('div').addEventListener('click', () => { console.log(42); while(true){} }); |
| document.querySelector('div').addEventListener('click', () => { while(true){} }); |
| </script> |
| `, 'Tests terminate execution.'); |
| dp.Runtime.enable(); |
| let promise = |
| dp.Runtime.evaluate({expression: `document.querySelector('div').click()`}) |
| .then(msg => testRunner.log(msg)); |
| await dp.Runtime.onceConsoleAPICalled(); |
| await Promise.all([ |
| dp.Emulation.setScriptExecutionDisabled({value: true}), |
| dp.Runtime.terminateExecution().then(msg => testRunner.log(msg)), promise |
| ]); |
| testRunner.completeTest(); |
| }) |