2016-12-23 16:30:57 +01:00
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
2017-08-01 11:36:44 -05:00
let { session , contextGroup , Protocol } = InspectorTest . start ( 'Check that stepInto at then end of the script go to next user script instead InjectedScriptSource.js.' ) ;
2016-12-23 16:30:57 +01:00
2017-06-06 10:28:14 +02:00
( async function test ( ) {
2017-08-01 11:36:44 -05:00
session . setupScriptMap ( ) ;
2017-06-06 10:28:14 +02:00
await Protocol . Debugger . enable ( ) ;
Protocol . Runtime . evaluate ( { expression : '(function boo() { setTimeout(() => 239, 0); debugger; })()\n' } ) ;
await waitPauseAndDumpLocation ( ) ;
Protocol . Debugger . stepInto ( ) ;
await waitPauseAndDumpLocation ( ) ;
Protocol . Debugger . stepInto ( ) ;
await waitPauseAndDumpLocation ( ) ;
Protocol . Debugger . stepInto ( ) ;
await waitPauseAndDumpLocation ( ) ;
await Protocol . Debugger . disable ( ) ;
InspectorTest . completeTest ( ) ;
} ) ( ) ;
2016-12-23 16:30:57 +01:00
2017-06-06 10:28:14 +02:00
async function waitPauseAndDumpLocation ( ) {
var message = await Protocol . Debugger . oncePaused ( ) ;
InspectorTest . log ( 'paused at:' ) ;
2017-08-01 11:36:44 -05:00
session . logSourceLocation ( message . params . callFrames [ 0 ] . location ) ;
2017-06-06 10:28:14 +02:00
return message ;
2016-12-23 16:30:57 +01:00
}