diff --git a/lib/repl.js b/lib/repl.js index 0bcf0df3244529..4c44e2aa4d47a7 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -1193,7 +1193,7 @@ function complete(line, callback) { d.name.startsWith(baseName)) .map((d) => d.name); completionGroups.push(filteredValue); - completeOn = filePath; + completeOn = baseName; } catch {} } diff --git a/test/parallel/test-repl-tab-complete.js b/test/parallel/test-repl-tab-complete.js index 5c1936b3f5a120..1c66f9a3238230 100644 --- a/test/parallel/test-repl-tab-complete.js +++ b/test/parallel/test-repl-tab-complete.js @@ -28,6 +28,7 @@ const { restoreStderr } = require('../common/hijackstdio'); const assert = require('assert'); +const path = require('path'); const fixtures = require('../common/fixtures'); const hasInspector = process.features.inspector; @@ -434,6 +435,16 @@ testMe.complete('obj.', common.mustCall((error, data) => { assert.strictEqual(data[0].length, 0); }) ); + + const testPath = fixturePath.slice(0, -1); + testMe.complete(testPath, common.mustCall((err, data) => { + assert.strictEqual(err, null); + assert.ok(data[0][0].includes('test-repl-tab-completion')); + assert.strictEqual( + data[1], + path.basename(testPath) + ); + })); }); } }