Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'test/sequential/test-debugger-watchers.mjs')
-rw-r--r--test/sequential/test-debugger-watchers.mjs49
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);
+}