mirror of
https://github.com/nodejs/node.git
synced 2025-08-15 13:48:44 +02:00

refactor the test/parallel/test-repl-save-load.js file by: - making the tests in the file self-contained (instead of all of them sharing the same REPL instance and constantly calling `.clear` on it) - clearly separating and commenting the various tests to make clearer what is being tested PR-URL: https://github.com/nodejs/node/pull/58715 Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
36 lines
875 B
JavaScript
36 lines
875 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const ArrayStream = require('../common/arraystream');
|
|
|
|
const assert = require('node:assert');
|
|
const repl = require('node:repl');
|
|
|
|
const tmpdir = require('../common/tmpdir');
|
|
tmpdir.refresh();
|
|
|
|
// Tests that an appropriate error is displayed if the user tries to load a non existent file
|
|
|
|
const input = new ArrayStream();
|
|
const output = new ArrayStream();
|
|
|
|
const replServer = repl.start({
|
|
prompt: '',
|
|
input,
|
|
output,
|
|
allowBlockingCompletions: true,
|
|
});
|
|
|
|
// Some errors are passed to the domain, but do not callback
|
|
replServer._domain.on('error', assert.ifError);
|
|
|
|
const filePath = tmpdir.resolve('file.does.not.exist');
|
|
|
|
output.write = common.mustCall(function(data) {
|
|
assert.strictEqual(data, `Failed to load: ${filePath}\n`);
|
|
output.write = () => {};
|
|
});
|
|
|
|
input.run([`.load ${filePath}`]);
|
|
|
|
replServer.close();
|