summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/harmony/modules-import-15.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/harmony/modules-import-15.mjs')
-rw-r--r--deps/v8/test/mjsunit/harmony/modules-import-15.mjs57
1 files changed, 57 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/harmony/modules-import-15.mjs b/deps/v8/test/mjsunit/harmony/modules-import-15.mjs
new file mode 100644
index 0000000000..b4febd5787
--- /dev/null
+++ b/deps/v8/test/mjsunit/harmony/modules-import-15.mjs
@@ -0,0 +1,57 @@
+// 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
+
+var ran = false;
+
+async function test1() {
+ try {
+ let x = await import('modules-skip-8.mjs');
+ %AbortJS('failure: should be unreachable');
+ } catch(e) {
+ assertEquals('Unexpected reserved word', e.message);
+ ran = true;
+ }
+}
+
+test1();
+%PerformMicrotaskCheckpoint();
+assertTrue(ran);
+
+ran = false;
+
+async function test2() {
+ try {
+ let x = await import('modules-skip-9.mjs');
+ %AbortJS('failure: should be unreachable');
+ } catch(e) {
+ assertInstanceof(e, SyntaxError);
+ assertEquals(
+ "The requested module 'modules-skip-empty.mjs' does not provide an " +
+ "export named 'default'",
+ e.message);
+ ran = true;
+ }
+}
+
+test2();
+%PerformMicrotaskCheckpoint();
+assertTrue(ran);
+
+ran = false;
+
+async function test3() {
+ try {
+ let x = await import('nonexistent-file.mjs');
+ %AbortJS('failure: should be unreachable');
+ } catch(e) {
+ assertTrue(e.startsWith('Error reading'));
+ ran = true;
+ }
+}
+
+test3();
+%PerformMicrotaskCheckpoint();
+assertTrue(ran);