node/test/module-hooks/test-module-hooks-resolve-s...

29 lines
649 B
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const { registerHooks } = require('module');
// Test that shortCircuit is required in the starting hook when nextResolve is not called.
const hook = registerHooks({
resolve(specifier, context, nextResolve) {
if (specifier === 'foo') {
return {
url: 'node:foo',
};
}
return nextResolve(specifier, context);
},
});
assert.throws(() => {
require('foo');
}, {
code: 'ERR_INVALID_RETURN_PROPERTY_VALUE',
message: /shortCircuit/,
});
const baz = require('../fixtures/baz.js');
assert.strictEqual(baz, 'perhaps I work');
hook.deregister();