repl: #41690 REPL gives wrong autocomplete on literals
Fixes: https://github.com/nodejs/node/issues/41690 PR-URL: https://github.com/nodejs/node/pull/41883 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
This commit is contained in:
parent
255554eee3
commit
52b1904a0d
@ -1168,7 +1168,7 @@ const importRE = /\bimport\s*\(\s*['"`](([\w@./:-]+\/)?(?:[\w@./:-]*))(?![^'"`])
|
||||
const requireRE = /\brequire\s*\(\s*['"`](([\w@./:-]+\/)?(?:[\w@./:-]*))(?![^'"`])$/;
|
||||
const fsAutoCompleteRE = /fs(?:\.promises)?\.\s*[a-z][a-zA-Z]+\(\s*["'](.*)/;
|
||||
const simpleExpressionRE =
|
||||
/(?:[a-zA-Z_$](?:\w|\$)*\??\.)*[a-zA-Z_$](?:\w|\$)*\??\.?$/;
|
||||
/(?:[\w$'"`[{(](?:\w|\$|['"`\]})])*\??\.)*[a-zA-Z_$](?:\w|\$)*\??\.?$/;
|
||||
const versionedFileNamesRe = /-\d+\.\d+/;
|
||||
|
||||
function isIdentifier(str) {
|
||||
|
@ -558,6 +558,26 @@ testMe.complete('obj.', common.mustCall(function(error, data) {
|
||||
putIn.run(['.clear']);
|
||||
testMe.complete('Buffer.prototype.', common.mustCall());
|
||||
|
||||
// Make sure repl gives correct autocomplete on literals
|
||||
testMe.complete('``.a', common.mustCall((err, data) => {
|
||||
assert.strictEqual(data[0].includes('``.at'), true);
|
||||
}));
|
||||
testMe.complete('\'\'.a', common.mustCall((err, data) => {
|
||||
assert.strictEqual(data[0].includes('\'\'.at'), true);
|
||||
}));
|
||||
testMe.complete('"".a', common.mustCall((err, data) => {
|
||||
assert.strictEqual(data[0].includes('"".at'), true);
|
||||
}));
|
||||
testMe.complete('("").a', common.mustCall((err, data) => {
|
||||
assert.strictEqual(data[0].includes('("").at'), true);
|
||||
}));
|
||||
testMe.complete('[].a', common.mustCall((err, data) => {
|
||||
assert.strictEqual(data[0].includes('[].at'), true);
|
||||
}));
|
||||
testMe.complete('{}.a', common.mustCall((err, data) => {
|
||||
assert.deepStrictEqual(data[0], []);
|
||||
}));
|
||||
|
||||
const testNonGlobal = repl.start({
|
||||
input: putIn,
|
||||
output: putIn,
|
||||
|
Loading…
x
Reference in New Issue
Block a user