| // Copyright 2017 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Flags: --allow-natives-syntax --harmony-dynamic-import |
| |
| ran = false; |
| async function test1() { |
| try { |
| let x = { toString() { return 'modules-skip-1.js' } }; |
| let namespace = await import(x); |
| let life = namespace.life(); |
| assertEquals(42, life); |
| ran = true; |
| } catch(e) { |
| %AbortJS('failure: '+ e); |
| } |
| } |
| |
| test1(); |
| %RunMicrotasks(); |
| assertTrue(ran); |
| |
| ran = false; |
| async function test2() { |
| try { |
| let x = { get toString() { return () => 'modules-skip-1.js' } }; |
| let namespace = await import(x); |
| let life = namespace.life(); |
| assertEquals(42, life); |
| ran = true; |
| } catch(e) { |
| %AbortJS('failure: '+ e); |
| } |
| } |
| |
| test2(); |
| %RunMicrotasks(); |
| assertTrue(ran); |