tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

omitted-from-namespace.js (1484B)


      1 // |reftest| module
      2 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      3 // This code is governed by the BSD license found in the LICENSE file.
      4 /*---
      5 description: >
      6    Ambiguous exports are not reflected in module namespace objects, nor do
      7    they trigger an error upon resolution
      8 esid: sec-moduledeclarationinstantiation
      9 info: |
     10    [...]
     11    12. For each ImportEntry Record in in module.[[ImportEntries]], do
     12        a. Let importedModule be ? HostResolveImportedModule(module,
     13           in.[[ModuleRequest]]).
     14        b. If in.[[ImportName]] is "*", then
     15           i. Let namespace be ? GetModuleNamespace(importedModule).
     16    [...]
     17 
     18    15.2.1.18 Runtime Semantics: GetModuleNamespace
     19 
     20    [...]
     21    3. If namespace is undefined, then
     22       [...]
     23       c. For each name that is an element of exportedNames,
     24          i. Let resolution be ? module.ResolveExport(name, « », « »).
     25          ii. If resolution is null, throw a SyntaxError exception.
     26          iii. If resolution is not "ambiguous", append name to
     27               unambiguousNames.
     28       d. Let namespace be ModuleNamespaceCreate(module, unambiguousNames).
     29 flags: [module]
     30 ---*/
     31 
     32 import * as ns from './omitted-from-namespace_FIXTURE.js';
     33 
     34 assert('first' in ns, 'Non-ambiguous exports from first module are present');
     35 assert('second' in ns, 'Non-ambiguous exports from second module are present');
     36 assert.sameValue('both' in ns, false, 'Ambiguous export is not present');
     37 
     38 reportCompare(0, 0);