diff options
Diffstat (limited to 'test/es-module/test-esm-exports.mjs')
-rw-r--r-- | test/es-module/test-esm-exports.mjs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/test/es-module/test-esm-exports.mjs b/test/es-module/test-esm-exports.mjs index 5059a2d418..d8c3399418 100644 --- a/test/es-module/test-esm-exports.mjs +++ b/test/es-module/test-esm-exports.mjs @@ -1,9 +1,10 @@ -// Flags: --experimental-modules +// Flags: --experimental-modules --experimental-resolve-self import { mustCall } from '../common/index.mjs'; import { ok, deepStrictEqual, strictEqual } from 'assert'; import { requireFixture, importFixture } from '../fixtures/pkgexports.mjs'; +import fromInside from '../fixtures/node_modules/pkgexports/lib/hole.js'; [requireFixture, importFixture].forEach((loadFixture) => { const isRequire = loadFixture === requireFixture; @@ -99,6 +100,24 @@ import { requireFixture, importFixture } from '../fixtures/pkgexports.mjs'; })); }); +const { requireFromInside, importFromInside } = fromInside; +[importFromInside, requireFromInside].forEach((loadFromInside) => { + const validSpecifiers = new Map([ + // A file not visible from outside of the package + ['../not-exported.js', { default: 'not-exported' }], + // Part of the public interface + ['@pkgexports/name/valid-cjs', { default: 'asdf' }], + ]); + for (const [validSpecifier, expected] of validSpecifiers) { + if (validSpecifier === null) continue; + + loadFromInside(validSpecifier) + .then(mustCall((actual) => { + deepStrictEqual({ ...actual }, expected); + })); + } +}); + function assertStartsWith(actual, expected) { const start = actual.toString().substr(0, expected.length); strictEqual(start, expected); |