diff options
| -rw-r--r-- | test/es-module/test-esm-cjs-main.js | 27 | ||||
| -rw-r--r-- | test/fixtures/es-modules/cjs.js | 5 |
2 files changed, 29 insertions, 3 deletions
diff --git a/test/es-module/test-esm-cjs-main.js b/test/es-module/test-esm-cjs-main.js index ed6730aec1..7a06572a38 100644 --- a/test/es-module/test-esm-cjs-main.js +++ b/test/es-module/test-esm-cjs-main.js @@ -1,6 +1,27 @@ -// Flags: --experimental-modules 'use strict'; + require('../common'); +const { spawn } = require('child_process'); const assert = require('assert'); -exports.asdf = 'asdf'; -assert.strictEqual(require.main.exports.asdf, 'asdf'); +const path = require('path'); + +const entry = path.resolve(__dirname, '../fixtures/es-modules/cjs.js'); + +const child = spawn(process.execPath, ['--experimental-modules', entry]); +let experimentalWarning = false; +let validatedExecution = false; +child.stderr.on('data', (data) => { + if (!experimentalWarning) { + experimentalWarning = true; + return; + } + throw new Error(data.toString()); +}); +child.stdout.on('data', (data) => { + assert.strictEqual(data.toString(), 'executed\n'); + validatedExecution = true; +}); +child.on('close', (code, stdout) => { + assert.strictEqual(validatedExecution, true); + assert.strictEqual(code, 0); +}); diff --git a/test/fixtures/es-modules/cjs.js b/test/fixtures/es-modules/cjs.js new file mode 100644 index 0000000000..3a09c83abf --- /dev/null +++ b/test/fixtures/es-modules/cjs.js @@ -0,0 +1,5 @@ +'use strict'; + +// test we can use commonjs require +require('path'); +console.log('executed'); |
