@@ -23,8 +23,8 @@ let debug = require('internal/util/debuglog').debuglog('test_runner', (fn) => {
2323 debug = fn ;
2424} ) ;
2525const { createRequire, isBuiltin } = require ( 'module' ) ;
26- const { defaultResolve } = require ( 'internal/modules/esm/resolve' ) ;
2726const { defaultGetFormatWithoutErrors } = require ( 'internal/modules/esm/get_format' ) ;
27+ const { defaultResolve } = require ( 'internal/modules/esm/resolve' ) ;
2828
2929// TODO(cjihrig): This file should not be exposed publicly, but register() does
3030// not handle internal loaders. Before marking this API as stable, one of the
@@ -97,13 +97,13 @@ async function resolve(specifier, context, nextResolve) {
9797 if ( isBuiltin ( specifier ) ) {
9898 mockSpecifier = ensureNodeScheme ( specifier ) ;
9999 } else {
100- const format = defaultGetFormatWithoutErrors ( pathToFileURL ( specifier ) ) ;
100+ const format = defaultGetFormatWithoutErrors (
101+ pathToFileURL ( context . parentURL ?? specifier )
102+ ) ;
101103
102104 try {
103- if ( format === "module" ) {
104- specifier = pathToFileURL (
105- defaultResolve ( specifier , context )
106- ) . href ;
105+ if ( format === 'module' ) {
106+ specifier = defaultResolve ( specifier , context ) . url ;
107107 } else {
108108 const req = createRequire ( context . parentURL ) ;
109109 specifier = pathToFileURL ( req . resolve ( specifier ) ) . href ;
@@ -240,4 +240,4 @@ function sendAck(buf, status = kMockSuccess) {
240240 AtomicsNotify ( buf , 0 ) ;
241241}
242242
243- module . exports = { initialize, load, resolve } ;
243+ module . exports = { initialize, load, resolve } ;
0 commit comments