Skip to content

Commit 9b67c1f

Browse files
committed
test: fix inspector uri-encoded paths
1 parent 24ded11 commit 9b67c1f

File tree

5 files changed

+71
-4
lines changed

5 files changed

+71
-4
lines changed

test/common/inspector-helper.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ class InspectorSession {
175175
this._scriptsIdsByUrl.set(scriptId, url);
176176
const fileUrl = url.startsWith('file:') ?
177177
url : pathToFileURL(url).toString();
178-
if (fileUrl === this.scriptURL().toString()) {
178+
if (decodeURIComponent(fileUrl) === decodeURIComponent(this.scriptURL().toString())) {
179179
this.mainScriptId = scriptId;
180180
}
181181
}

test/parallel/test-inspector-async-context-brk.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ async function test() {
3535
await new Promise((resolve, reject) => {
3636
session.post('Debugger.setBreakpointByUrl', {
3737
'lineNumber': 22,
38-
'url': pathToFileURL(path.resolve(__dirname, __filename)).toString(),
38+
'url': decodeURIComponent(pathToFileURL(path.resolve(__dirname, __filename)).toString()),
3939
'columnNumber': 0,
4040
'condition': ''
4141
}, (error, result) => {

test/parallel/test-inspector-bindings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ function testSampleDebugSession() {
8686
session.post('Debugger.enable', () => cbAsSecondArgCalled = true);
8787
session.post('Debugger.setBreakpointByUrl', {
8888
'lineNumber': 13,
89-
'url': pathToFileURL(path.resolve(__dirname, __filename)).toString(),
89+
'url': decodeURIComponent(pathToFileURL(path.resolve(__dirname, __filename)).toString()),
9090
'columnNumber': 0,
9191
'condition': ''
9292
});

test/parallel/test-inspector-multisession-js.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ async function test() {
3434
await new Promise((resolve, reject) => {
3535
session1.post('Debugger.setBreakpointByUrl', {
3636
'lineNumber': 12,
37-
'url': pathToFileURL(path.resolve(__dirname, __filename)).toString(),
37+
'url': decodeURIComponent(pathToFileURL(path.resolve(__dirname, __filename)).toString()),
3838
'columnNumber': 0,
3939
'condition': ''
4040
}, (error, result) => {
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
'use strict';
2+
const common = require('../common');
3+
4+
common.skipIfInspectorDisabled();
5+
6+
const assert = require('assert');
7+
const { Session } = require('inspector');
8+
const path = require('path');
9+
const { pathToFileURL } = require('url');
10+
11+
function debugged() {
12+
return 42;
13+
}
14+
15+
async function test() {
16+
// Check without properly decoding
17+
const session1 = new Session();
18+
session1.connect();
19+
let session1Paused = false;
20+
session1.on('Debugger.paused', () => session1Paused = true);
21+
session1.post('Debugger.enable');
22+
23+
await new Promise((resolve, reject) => {
24+
session1.post('Debugger.setBreakpointByUrl', {
25+
'lineNumber': 12,
26+
'url': pathToFileURL(path.resolve(__dirname, __filename)).toString(),
27+
'columnNumber': 0,
28+
'condition': ''
29+
}, (error, result) => {
30+
return error ? reject(error) : resolve(result);
31+
});
32+
});
33+
34+
debugged();
35+
36+
assert(!session1Paused);
37+
session1.disconnect();
38+
39+
// Check correctly with another session
40+
let session2Paused = false;
41+
const session2 = new Session();
42+
session2.connect();
43+
session2.on('Debugger.paused', () => session2Paused = true);
44+
session2.post('Debugger.enable');
45+
46+
await new Promise((resolve, reject) => {
47+
session2.post('Debugger.setBreakpointByUrl', {
48+
'lineNumber': 12,
49+
'url': decodeURIComponent(pathToFileURL(path.resolve(__dirname, __filename)).toString()),
50+
'columnNumber': 0,
51+
'condition': ''
52+
}, (error, result) => {
53+
return error ? reject(error) : resolve(result);
54+
});
55+
});
56+
57+
debugged();
58+
59+
assert(session2Paused);
60+
session2.disconnect();
61+
}
62+
63+
const interval = setInterval(() => {}, 1000);
64+
test().then(common.mustCall(() => {
65+
clearInterval(interval);
66+
console.log('Done!');
67+
}));

0 commit comments

Comments
 (0)