repl: Failed to save editor mode text in .save

Fixes: https://github.com/nodejs/node/issues/8142
PR-URL: https://github.com/nodejs/node/pull/8145
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
Prince J Wesley 2016-08-17 21:04:52 +05:30
parent ccbb3c78cd
commit f6a74345d1
No known key found for this signature in database
GPG Key ID: 9D76A33B02A4C46B
2 changed files with 21 additions and 0 deletions

View File

@ -471,6 +471,7 @@ function REPLServer(prompt,
if (self.editorMode) {
self.bufferedCommand += cmd + '\n';
self.memory(cmd);
return;
}

View File

@ -29,6 +29,26 @@ putIn.run(['.save ' + saveFileName]);
// the file should have what I wrote
assert.equal(fs.readFileSync(saveFileName, 'utf8'), testFile.join('\n') + '\n');
{
// save .editor mode code
const cmds = [
'function testSave() {',
'return "saved";',
'}'
];
const putIn = new common.ArrayStream();
const replServer = repl.start('', putIn);
putIn.run(['.editor']);
putIn.run(cmds);
replServer.write('', {ctrl: true, name: 'd'});
putIn.run([`.save ${saveFileName}`]);
replServer.close();
assert.strictEqual(fs.readFileSync(saveFileName, 'utf8'),
`${cmds.join('\n')}\n`);
}
// make sure that the REPL data is "correct"
// so when I load it back I know I'm good
testMe.complete('inner.o', function(error, data) {