new-target.js (1154B)
1 // |reftest| async 2 // Copyright (C) 2018 Leo Balter. All rights reserved. 3 // This code is governed by the BSD license found in the LICENSE file. 4 /*--- 5 description: > 6 Dynamic Import receives an AssignmentExpression (NewTarget) 7 esid: prod-ImportCall 8 info: | 9 ImportCall [Yield]: 10 import ( AssignmentExpression[+In, ?Yield] ) 11 12 AssignmentExpression[In, Yield, Await]: 13 ConditionalExpression[?In, ?Yield, ?Await] 14 [+Yield]YieldExpression[?In, ?Await] 15 ArrowFunction[?In, ?Yield, ?Await] 16 AsyncArrowFunction[?In, ?Yield, ?Await] 17 LeftHandSideExpression[?Yield, ?Await] = AssignmentExpression[?In, ?Yield, ?Await] 18 LeftHandSideExpression[?Yield, ?Await] AssignmentOperator AssignmentExpression[?In, ?Yield, ?Await] 19 flags: [async] 20 features: [dynamic-import, new.target] 21 includes: [asyncHelpers.js] 22 ---*/ 23 24 function ctor() { 25 return import(new.target); // import('./module-code_FIXTURE.js') 26 } 27 28 ctor.toString = () => './module-code_FIXTURE.js'; 29 30 async function fn() { 31 const ns = await new ctor(); 32 33 assert.sameValue(ns.local1, 'Test262'); 34 assert.sameValue(ns.default, 42); 35 } 36 37 asyncTest(fn);