summaryrefslogtreecommitdiff
path: root/test/parallel/test-repl-uncaught-exception-evalcallback.js
blob: a6f6e341049d6cbcf36db1ac5de7bb9e1592afee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'use strict';
const common = require('../common');
const assert = require('assert');
const repl = require('repl');
const { PassThrough } = require('stream');
const input = new PassThrough();
const output = new PassThrough();

const r = repl.start({
  input, output,
  eval: common.mustCall((code, context, filename, cb) => {
    r.setPrompt('prompt! ');
    cb(new Error('err'));
  })
});

input.end('foo\n');

// The output includes exactly one post-error prompt.
const out = output.read().toString();
assert.match(out, /prompt!/);
assert.doesNotMatch(out, /prompt![\S\s]*prompt!/);
output.on('data', common.mustNotCall());