node/test/module-hooks/test-module-hooks-resolve-short-circuit-required-middle.js
Joyee Cheung e85964610c module: implement module.registerHooks()
PR-URL: https://github.com/nodejs/node/pull/55698
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
2024-12-09 23:27:08 +00:00

33 lines
709 B
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const { registerHooks } = require('module');
// Test that shortCircuit is required in a middle hook when nextResolve is not called.
const hook1 = registerHooks({
resolve(specifier, context, nextResolve) {
return nextResolve(specifier, context);
},
});
const hook2 = registerHooks({
resolve(specifier, context, nextResolve) {
if (specifier === 'bar') {
return {
url: 'node:bar',
};
}
return nextResolve(specifier, context);
},
});
assert.throws(() => {
require('bar');
}, {
code: 'ERR_INVALID_RETURN_PROPERTY_VALUE',
message: /shortCircuit/,
});
hook1.deregister();
hook2.deregister();