2018-03-14 18:36:59 -05:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
require('../common');
|
|
|
|
const assert = require('assert');
|
|
|
|
const path = require('path');
|
|
|
|
|
2021-02-03 12:31:38 +01:00
|
|
|
const { createRequire } = require('module');
|
2018-03-14 18:36:59 -05:00
|
|
|
|
|
|
|
const p = path.resolve(__dirname, '..', 'fixtures', 'fake.js');
|
2019-04-25 00:29:22 -04:00
|
|
|
const u = new URL(`file://${p}`);
|
2018-03-14 18:36:59 -05:00
|
|
|
|
2019-04-25 00:29:22 -04:00
|
|
|
const reqToo = createRequire(u);
|
|
|
|
assert.deepStrictEqual(reqToo('./experimental'), { ofLife: 42 });
|
|
|
|
|
|
|
|
assert.throws(() => {
|
|
|
|
createRequire('https://github.com/nodejs/node/pull/27405/');
|
|
|
|
}, {
|
|
|
|
code: 'ERR_INVALID_ARG_VALUE'
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.throws(() => {
|
|
|
|
createRequire('../');
|
|
|
|
}, {
|
|
|
|
code: 'ERR_INVALID_ARG_VALUE'
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.throws(() => {
|
|
|
|
createRequire({});
|
|
|
|
}, {
|
2019-05-09 16:21:19 -04:00
|
|
|
code: 'ERR_INVALID_ARG_VALUE',
|
|
|
|
message: 'The argument \'filename\' must be a file URL object, file URL ' +
|
|
|
|
'string, or absolute path string. Received {}'
|
2019-04-25 00:29:22 -04:00
|
|
|
});
|