• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2const common = require('../common');
3const assert = require('assert');
4const cp = require('child_process');
5const fixtures = require('../common/fixtures');
6
7const args = ['--interactive', '--experimental-repl-await'];
8const opts = { cwd: fixtures.path('es-modules') };
9const child = cp.spawn(process.execPath, args, opts);
10
11let output = '';
12child.stdout.setEncoding('utf8');
13child.stdout.on('data', (data) => {
14  output += data;
15});
16
17child.on('exit', common.mustCall(() => {
18  const results = output.replace(/^> /mg, '').split('\n').slice(2);
19  assert.deepStrictEqual(
20    results,
21    ['[Module: null prototype] { message: \'A message\' }', '']
22  );
23}));
24
25child.stdin.write('await import(\'./message.mjs\');\n');
26child.stdin.write('.exit');
27child.stdin.end();
28