| 'use strict'; |
| const common = require('../common'); |
| |
| common.skipIfInspectorDisabled(); |
| |
| const fixtures = require('../common/fixtures'); |
| const startCLI = require('../common/debugger'); |
| const assert = require('assert'); |
| |
| // Debugger agent direct access. |
| { |
| const cli = startCLI([fixtures.path('debugger/three-lines.js')]); |
| const scriptPattern = /^\* (\d+): \S+debugger(?:\/|\\)three-lines\.js/m; |
| |
| function onFatal(error) { |
| cli.quit(); |
| throw error; |
| } |
| |
| return cli.waitForInitialBreak() |
| .then(() => cli.waitForPrompt()) |
| .then(() => cli.command('scripts')) |
| .then(() => { |
| const [, scriptId] = cli.output.match(scriptPattern); |
| return cli.command( |
| `Debugger.getScriptSource({ scriptId: '${scriptId}' })` |
| ); |
| }) |
| .then(() => { |
| assert.match( |
| cli.output, |
| /scriptSource:[ \n]*'(?:\(function \(|let x = 1)/); |
| assert.match( |
| cli.output, |
| /let x = 1;/); |
| }) |
| .then(() => cli.quit()) |
| .then(null, onFatal); |
| } |