summaryrefslogtreecommitdiff
path: root/test/known_issues/test-repl-require-context.js
blob: 2b8737b86716699bf755827998045ee9f6bfcb9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
'use strict';
// Refs: https://github.com/nodejs/node/issues/7788
const common = require('../common');
const assert = require('assert');
const path = require('../common/fixtures').path;
const repl = require('repl');
const stream = require('stream');
const inputStream = new stream.PassThrough();
const outputStream = new stream.PassThrough();
const fixture = path('is-object.js');
const r = repl.start({
  input: inputStream,
  output: outputStream,
  useGlobal: false
});

let output = '';
outputStream.setEncoding('utf8');
outputStream.on('data', (data) => output += data);

r.on('exit', common.mustCall(() => {
  const results = output.replace(/^> /mg, '').split('\n');

  assert.deepStrictEqual(results, ['undefined', 'true', 'true', '']);
}));

inputStream.write('const isObject = (obj) => obj.constructor === Object;\n');
inputStream.write('isObject({});\n');
inputStream.write(`require('${fixture}').isObject({});\n`);
r.close();