aboutsummaryrefslogtreecommitdiff
path: root/test/es-module/test-esm-exports.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'test/es-module/test-esm-exports.mjs')
-rw-r--r--test/es-module/test-esm-exports.mjs21
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);