| // Copyright 2018 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 provisional breakpoints on navigation.'); |
| await TestRunner.loadModule('sources_test_runner'); |
| await TestRunner.showPanel('sources'); |
| |
| await TestRunner.navigate(TestRunner.url('resources/a.html')); |
| |
| await SourcesTestRunner.startDebuggerTestPromise(); |
| let sourceFrame = await SourcesTestRunner.showScriptSourcePromise('a.html'); |
| TestRunner.addResult('Set breakpoint in inline script and dump it'); |
| SourcesTestRunner.toggleBreakpoint(sourceFrame, 3, false); |
| await SourcesTestRunner.waitDebuggerPluginBreakpoints(sourceFrame); |
| SourcesTestRunner.dumpDebuggerPluginBreakpoints(sourceFrame); |
| |
| TestRunner.addResult('Navigate to the same page and dump stack on pause'); |
| TestRunner.navigate(TestRunner.url('resources/a.html')); |
| await SourcesTestRunner.captureStackTrace(await SourcesTestRunner.waitUntilPausedPromise()); |
| await new Promise(resolve => SourcesTestRunner.resumeExecution(resolve)); |
| |
| TestRunner.addResult('Remove breakpoint, set another in not inline script and dump it'); |
| sourceFrame = await SourcesTestRunner.showScriptSourcePromise('a.html'); |
| SourcesTestRunner.toggleBreakpoint(sourceFrame, 3, false); |
| await SourcesTestRunner.waitDebuggerPluginBreakpoints(sourceFrame); |
| |
| sourceFrame = await SourcesTestRunner.showScriptSourcePromise('a.js'); |
| SourcesTestRunner.toggleBreakpoint(sourceFrame, 9, false); |
| await SourcesTestRunner.waitDebuggerPluginBreakpoints(sourceFrame); |
| SourcesTestRunner.dumpDebuggerPluginBreakpoints(sourceFrame); |
| |
| TestRunner.addResult('Navigate to the same page and dump stack on pause'); |
| TestRunner.navigate(TestRunner.url('resources/a.html')); |
| await SourcesTestRunner.captureStackTrace(await SourcesTestRunner.waitUntilPausedPromise()); |
| await new Promise(resolve => SourcesTestRunner.resumeExecution(resolve)); |
| |
| SourcesTestRunner.completeDebuggerTest(); |
| })(); |