mirror of
https://github.com/nodejs/node.git
synced 2024-11-30 07:27:22 +01:00
9e1a6f8cb1
Implement the C++ callback that is required to configure the `import.meta` object and add one property: - url: absolute URL of the module PR-URL: https://github.com/nodejs/node/pull/18368 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
23 lines
639 B
JavaScript
23 lines
639 B
JavaScript
// Flags: --experimental-modules
|
|
|
|
import '../common';
|
|
import assert from 'assert';
|
|
|
|
assert.strictEqual(Object.getPrototypeOf(import.meta), null);
|
|
|
|
const keys = ['url'];
|
|
assert.deepStrictEqual(Reflect.ownKeys(import.meta), keys);
|
|
|
|
const descriptors = Object.getOwnPropertyDescriptors(import.meta);
|
|
for (const descriptor of Object.values(descriptors)) {
|
|
delete descriptor.value; // Values are verified below.
|
|
assert.deepStrictEqual(descriptor, {
|
|
enumerable: true,
|
|
writable: true,
|
|
configurable: true
|
|
});
|
|
}
|
|
|
|
const urlReg = /^file:\/\/\/.*\/test\/es-module\/test-esm-import-meta\.mjs$/;
|
|
assert(import.meta.url.match(urlReg));
|