Skip to content

Commit 60c5046

Browse files
princejwesleyevanlucas
authored andcommitted
repl: Failed to save editor mode text in .save
Fixes: #8142 PR-URL: #8145 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
1 parent 71343b6 commit 60c5046

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

lib/repl.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,7 @@ function REPLServer(prompt,
471471

472472
if (self.editorMode) {
473473
self.bufferedCommand += cmd + '\n';
474+
self.memory(cmd);
474475
return;
475476
}
476477

test/parallel/test-repl-.save.load.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,26 @@ putIn.run(['.save ' + saveFileName]);
2929
// the file should have what I wrote
3030
assert.equal(fs.readFileSync(saveFileName, 'utf8'), testFile.join('\n') + '\n');
3131

32+
{
33+
// save .editor mode code
34+
const cmds = [
35+
'function testSave() {',
36+
'return "saved";',
37+
'}'
38+
];
39+
const putIn = new common.ArrayStream();
40+
const replServer = repl.start('', putIn);
41+
42+
putIn.run(['.editor']);
43+
putIn.run(cmds);
44+
replServer.write('', {ctrl: true, name: 'd'});
45+
46+
putIn.run([`.save ${saveFileName}`]);
47+
replServer.close();
48+
assert.strictEqual(fs.readFileSync(saveFileName, 'utf8'),
49+
`${cmds.join('\n')}\n`);
50+
}
51+
3252
// make sure that the REPL data is "correct"
3353
// so when I load it back I know I'm good
3454
testMe.complete('inner.o', function(error, data) {

0 commit comments

Comments
 (0)