node/test/parallel/test-repl-save-load-load-non-existent.js
Dario Piotrowicz 910a8af2d2
test: refactor repl save-load tests
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>
2025-06-22 18:11:33 +00:00

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();