| // 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: verify JavaScript console errors reporting.'); |
| |
| let RendererTestHelper = |
| await testRunner.loadScript('../helpers/renderer-test-helper.js'); |
| let {httpInterceptor, frameNavigationHelper, virtualTimeController} = |
| await (new RendererTestHelper(testRunner, dp, page)).init(); |
| |
| httpInterceptor.addResponse(`http://example.com/foobar`, `<html> |
| <head> |
| <script language="JavaScript"> |
| <![CDATA[ |
| function image() { |
| window.open('<xsl:value-of select="/IMAGE/@href" />'); |
| } |
| ]]> |
| </script> |
| </head> |
| <body onload="func3()"> |
| <script type="text/javascript"> |
| func1() |
| </script> |
| <script type="text/javascript"> |
| func2(); |
| </script> |
| <script type="text/javascript"> |
| console.log("Hello, Script!"); |
| </script> |
| </body> |
| </html>`); |
| |
| dp.Runtime.onExceptionThrown(data => { |
| const details = data.params.exceptionDetails; |
| testRunner.log( |
| `${details.text} ${details.exception.description.replace(/\n.*/, '')}`); |
| }); |
| |
| await virtualTimeController.initialize(1000); |
| await frameNavigationHelper.navigate('http://example.com/foobar'); |
| await virtualTimeController.grantTime(500); |
| testRunner.completeTest(); |
| }) |