1'use strict';
2
3const common = require('../common');
4const fixtures = require('../common/fixtures');
5const assert = require('assert');
6const { spawn } = require('child_process');
7
8if (!common.isMainThread)
9  common.skip('process.chdir is not available in Workers');
10
11const selfRefModule = fixtures.path('self_ref_module');
12const child = spawn(process.execPath,
13                    ['--interactive'],
14                    { cwd: selfRefModule }
15);
16let output = '';
17child.stdout.on('data', (chunk) => output += chunk);
18child.on('exit', common.mustCall(() => {
19  const results = output.replace(/^> /mg, '').split('\n').slice(2);
20  assert.deepStrictEqual(results, [ "'Self resolution working'", '' ]);
21}));
22
23child.stdin.write('require("self_ref");\n');
24child.stdin.write('.exit');
25child.stdin.end();
26