Skip to content
This repository has been archived by the owner on Feb 1, 2022. It is now read-only.

Commit

Permalink
fix: Address regressions due to changes in node
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Krems committed May 16, 2019
1 parent 1d94012 commit 0fba6a0
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 9 deletions.
6 changes: 5 additions & 1 deletion lib/internal/inspect_repl.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ const Path = require('path');
const Repl = require('repl');
const util = require('util');
const vm = require('vm');
const fileURLToPath = require('url').fileURLToPath;

const debuglog = util.debuglog('inspect');

Expand Down Expand Up @@ -89,9 +90,12 @@ function isNativeUrl(url) {
return url.replace('.js', '') in NATIVES || url === 'bootstrap_node.js';
}

function getRelativePath(filename) {
function getRelativePath(filenameOrURL) {
const dir = Path.join(Path.resolve(), 'x').slice(0, -1);

const filename = filenameOrURL.startsWith('file://') ?
fileURLToPath(filenameOrURL) : filenameOrURL;

// Change path to relative, if possible
if (filename.indexOf(dir) === 0) {
return filename.slice(dir.length);
Expand Down
6 changes: 3 additions & 3 deletions test/cli/break.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ test('stepping through breakpoints', (t) => {
.then(() => cli.waitForPrompt())
.then(() => {
t.match(
cli.output,
`break in ${script}:1`,
cli.breakInfo,
{ filename: script, line: 1 },
'pauses in the first line of the script');
t.match(
cli.output,
/> 1 \(function \([^)]+\) \{ const x = 10;/,
/> 1 (?:\(function \([^)]+\) \{ )?const x = 10;/,
'shows the source and marks the current line');
})
.then(() => cli.stepCommand('n'))
Expand Down
2 changes: 1 addition & 1 deletion test/cli/low-level.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ test('Debugger agent direct access', (t) => {
.then(() => {
t.match(
cli.output,
/scriptSource: '\(function \(/);
/scriptSource:[ \n]*'\(function \(/);
t.match(
cli.output,
/let x = 1;/);
Expand Down
4 changes: 2 additions & 2 deletions test/cli/scripts.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ test('list scripts', (t) => {
'lists the user script');
t.notMatch(
cli.output,
/\d+: module\.js <native>/,
/\d+: buffer\.js <native>/,
'omits node-internal scripts');
})
.then(() => cli.command('scripts(true)'))
Expand All @@ -35,7 +35,7 @@ test('list scripts', (t) => {
'lists the user script');
t.match(
cli.output,
/\d+: module\.js <native>/,
/\d+: buffer\.js <native>/,
'includes node-internal scripts');
})
.then(() => cli.quit())
Expand Down
11 changes: 11 additions & 0 deletions test/cli/start-cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,17 @@ function startCLI(args, flags = []) {
});
},

get breakInfo() {
const output = this.output;
const breakMatch =
output.match(/break (?:on start )in ([^\n]+):(\d+)\n/i);

if (breakMatch === null) {
throw new Error(`Could not find breakpoint info in ${output}`);
}
return { filename: breakMatch[1], line: +breakMatch[2] };
},

ctrlC() {
return this.command('.interrupt');
},
Expand Down
5 changes: 3 additions & 2 deletions test/cli/use-strict.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ test('for whiles that starts with strict directive', (t) => {
return cli.waitForInitialBreak()
.then(() => cli.waitForPrompt())
.then(() => {
const brk = cli.breakInfo;
t.match(
cli.output,
/break in [^:]+:(?:1|2)[^\d]/,
`${brk.line}`,
/^(1|2)$/,
'pauses either on strict directive or first "real" line');
})
.then(() => cli.quit())
Expand Down

0 comments on commit 0fba6a0

Please sign in to comment.