From 8440c777a4c82987f1dd0ee95eb7e0c5dcc9d478 Mon Sep 17 00:00:00 2001 From: "eungyu.lee" Date: Fri, 24 Feb 2023 18:53:29 +0900 Subject: [PATCH] test: Check the context line seen through n steps after calling setContextLineNumber. --- test/fixtures/debugger/twenty-lines.js | 20 +++++++++ .../test-debugger-set-context-line-number.mjs | 41 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 test/fixtures/debugger/twenty-lines.js create mode 100644 test/sequential/test-debugger-set-context-line-number.mjs diff --git a/test/fixtures/debugger/twenty-lines.js b/test/fixtures/debugger/twenty-lines.js new file mode 100644 index 00000000000000..4aa152202f6742 --- /dev/null +++ b/test/fixtures/debugger/twenty-lines.js @@ -0,0 +1,20 @@ +let x = 0; +x = 1; +x = 2; +x = 3; +x = 4; +x = 5; +x = 6; +x = 7; +x = 8; +x = 9; +x = 10; +x = 11; +x = 12; +x = 13; +x = 14; +x = 15; +x = 16; +x = 17; +x = 18; +module.exports = x; \ No newline at end of file diff --git a/test/sequential/test-debugger-set-context-line-number.mjs b/test/sequential/test-debugger-set-context-line-number.mjs new file mode 100644 index 00000000000000..0bb5d792b141d3 --- /dev/null +++ b/test/sequential/test-debugger-set-context-line-number.mjs @@ -0,0 +1,41 @@ +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', 'twenty-lines.js'); +const cli = startCLI([script]); + +function onFatal(error) { + cli.quit(); + throw error; +} + +// Stepping through breakpoints. +try { + await cli.waitForInitialBreak(); + await cli.waitForPrompt(); + + // Make sure the initial value is 2. + await cli.stepCommand('n'); + assert.ok(cli.output.includes("4 x = 3;")); + + await cli.command('setContextLineNumber(5)'); + await cli.stepCommand('n'); + assert.ok(cli.output.includes("8 x = 7;")); + + await cli.command('setContextLineNumber(3)'); + await cli.stepCommand('n'); + assert.ok(cli.output.includes("7 x = 6;")); + + await cli.command('list(3)'); + await cli.stepCommand('n'); + assert.ok(cli.output.includes("7 x = 6;")); + + await cli.quit(); +} catch (error) { + onFatal(error); +}