diff options
Diffstat (limited to 'test/sequential/test-debugger-watchers.mjs')
-rw-r--r-- | test/sequential/test-debugger-watchers.mjs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/sequential/test-debugger-watchers.mjs b/test/sequential/test-debugger-watchers.mjs new file mode 100644 index 00000000000..2c4fd11545f --- /dev/null +++ b/test/sequential/test-debugger-watchers.mjs @@ -0,0 +1,49 @@ +import { skipIfInspectorDisabled } from '../common/index.mjs'; +skipIfInspectorDisabled(); + +import { path } from '../common/fixtures.mjs'; +import startCLI from '../common/debugger.js'; + +import assert from 'assert'; + +const script = path('debugger', 'break.js'); +const cli = startCLI([script]); + +function onFatal(error) { + cli.quit(); + throw error; +} + +// Stepping through breakpoints. +try { + await cli.waitForInitialBreak(); + await cli.waitForPrompt(); + await cli.command('watch("x")'); + await cli.command('watch("\\"Hello\\"")'); + await cli.command('watch("42")'); + await cli.command('watch("NaN")'); + await cli.command('watch("true")'); + await cli.command('watch("[1, 2]")'); + await cli.command('watch("process.env")'); + await cli.command('watchers'); + + assert.match(cli.output, /x is not defined/); + + await cli.command('unwatch("42")'); + await cli.stepCommand('n'); + + assert.match(cli.output, /0: x = 10/); + assert.match(cli.output, /1: "Hello" = 'Hello'/); + assert.match(cli.output, /2: NaN = NaN/); + assert.match(cli.output, /3: true = true/); + assert.match(cli.output, /4: \[1, 2\] = \[ 1, 2 \]/); + assert.match( + cli.output, + /5: process\.env =\n\s+\{[\s\S]+,\n\s+\.\.\. \}/, + 'shows "..." for process.env' + ); + + await cli.quit(); +} catch (error) { + onFatal(error); +} |