Index: test/mjsunit/harmony/modules-import-13.js |
diff --git a/test/mjsunit/harmony/modules-import-13.js b/test/mjsunit/harmony/modules-import-13.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..40016246f0b47a3b2dc2c7ebf8bc9905201014f0 |
--- /dev/null |
+++ b/test/mjsunit/harmony/modules-import-13.js |
@@ -0,0 +1,39 @@ |
+// 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); |