mirror of https://github.com/nodejs/node.git
43 lines
965 B
JavaScript
43 lines
965 B
JavaScript
'use strict';
|
|
|
|
require('../common');
|
|
const assert = require('assert');
|
|
const fs = require('fs');
|
|
|
|
const errUnknownBuiltinModuleRE = /^No such built-in module: /u;
|
|
|
|
// For direct use of require expressions inside of CJS modules,
|
|
// all kinds of specifiers should work without issue.
|
|
{
|
|
assert.strictEqual(require('fs'), fs);
|
|
assert.strictEqual(require('node:fs'), fs);
|
|
|
|
assert.throws(
|
|
() => require('node:unknown'),
|
|
{
|
|
code: 'ERR_UNKNOWN_BUILTIN_MODULE',
|
|
message: errUnknownBuiltinModuleRE,
|
|
},
|
|
);
|
|
|
|
assert.throws(
|
|
() => require('node:internal/test/binding'),
|
|
{
|
|
code: 'ERR_UNKNOWN_BUILTIN_MODULE',
|
|
message: errUnknownBuiltinModuleRE,
|
|
},
|
|
);
|
|
}
|
|
|
|
// `node:`-prefixed `require(...)` calls bypass the require cache:
|
|
{
|
|
const fakeModule = {};
|
|
|
|
require.cache.fs = { exports: fakeModule };
|
|
|
|
assert.strictEqual(require('fs'), fakeModule);
|
|
assert.strictEqual(require('node:fs'), fs);
|
|
|
|
delete require.cache.fs;
|
|
}
|