tor-browser

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

get-nested-namespace-dflt-skip.js (1803B)


      1 // |reftest| module
      2 // Copyright (C) 2018 Valerie Young. All rights reserved.
      3 // This code is governed by the BSD license found in the LICENSE file.
      4 /*---
      5 description: >
      6  Default exports are included in an imported module namespace object when a namespace object is created.
      7 esid: sec-module-namespace-exotic-objects-get-p-receiver
      8 info: |
      9  [...]
     10  6. Let binding be ! m.ResolveExport(P, « »).
     11  7. Assert: binding is a ResolvedBinding Record.
     12  8. Let targetModule be binding.[[Module]].
     13  9. Assert: targetModule is not undefined.
     14  10. If binding.[[BindingName]] is "*namespace*", then
     15  11. Return ? GetModuleNamespace(targetModule).
     16 
     17  Runtime Semantics: GetModuleNamespace
     18  [...]
     19    3. If namespace is undefined, then
     20       a. Let exportedNames be ? module.GetExportedNames(« »).
     21       b. Let unambiguousNames be a new empty List.
     22       c. For each name that is an element of exportedNames,
     23          i. Let resolution be ? module.ResolveExport(name, « », « »).
     24          ii. If resolution is null, throw a SyntaxError exception.
     25          iii. If resolution is not "ambiguous", append name to
     26               unambiguousNames.
     27       d. Let namespace be ModuleNamespaceCreate(module, unambiguousNames).
     28  [...]
     29 flags: [module]
     30 features: [export-star-as-namespace-from-module]
     31 ---*/
     32 
     33 import * as namedns1 from './get-nested-namespace-dflt-skip-named_FIXTURE.js';
     34 import * as productionns1 from './get-nested-namespace-dflt-skip-prod_FIXTURE.js';
     35 
     36 assert('namedOther' in namedns1.namedns2);
     37 assert.sameValue(
     38  'default' in namedns1.namedns2, true, 'default specified via identifier'
     39 );
     40 
     41 assert('productionOther' in productionns1.productionns2);
     42 assert.sameValue(
     43  'default' in productionns1.productionns2, true, 'default specified via dedicated production'
     44 );
     45 
     46 reportCompare(0, 0);