'use strict'; const common = require('../common'); const assert = require('node:assert'); const { startNewREPLServer } = require('../common/repl'); const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); // Test for the appropriate handling of cases in which REPL saves fail const { replServer, input, output } = startNewREPLServer({ terminal: false }); // NUL (\0) is disallowed in filenames in UNIX-like operating systems and // Windows so we can use that to test failed saves. const invalidFilePath = tmpdir.resolve('\0\0\0\0\0'); output.write = common.mustCall(function(data) { assert.strictEqual(data, `Failed to save: ${invalidFilePath}\n`); output.write = () => {}; }); input.run([`.save ${invalidFilePath}`]); replServer.close();