1'use strict';
2
3require('../common');
4const fixtures = require('../common/fixtures');
5const assert = require('assert');
6
7const { createRequire } = require('module');
8
9const u = fixtures.fileURL('fake.js');
10
11const reqToo = createRequire(u);
12assert.deepStrictEqual(reqToo('./experimental'), { ofLife: 42 });
13
14assert.throws(() => {
15  createRequire('https://github.com/nodejs/node/pull/27405/');
16}, {
17  code: 'ERR_INVALID_ARG_VALUE'
18});
19
20assert.throws(() => {
21  createRequire('../');
22}, {
23  code: 'ERR_INVALID_ARG_VALUE'
24});
25
26assert.throws(() => {
27  createRequire({});
28}, {
29  code: 'ERR_INVALID_ARG_VALUE',
30  message: 'The argument \'filename\' must be a file URL object, file URL ' +
31           'string, or absolute path string. Received {}'
32});
33