Chromium Code Reviews| Index: test/mjsunit/harmony/modules-import-8.js |
| diff --git a/test/mjsunit/harmony/modules-import-8.js b/test/mjsunit/harmony/modules-import-8.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b6fe329a811d50bcc052a05d3f4dd6230aea4099 |
| --- /dev/null |
| +++ b/test/mjsunit/harmony/modules-import-8.js |
| @@ -0,0 +1,66 @@ |
| +// 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; |
| + |
| +var x = { |
| + toString() { |
| + throw new Error('42 is the answer'); |
| + } |
| +}; |
| +import(x); |
| + |
| +var x = { |
| + get toString() { |
| + throw new Error('42 is the answer'); |
| + } |
| +}; |
| +import(x); |
|
neis
2017/03/17 11:50:55
It's okay to use a different variable name :)
gsathya
2017/03/17 21:48:00
Acknowledged.
|
| + |
| +async function test() { |
| + try { |
| + let x = { |
| + toString() { |
| + throw new Error('42 is the answer'); |
| + } |
| + }; |
| + |
| + let namespace = await import(x); |
| + %AbortJS('failure: this should throw'); |
| + } catch(e) { |
| + assertEquals(e.message, '42 is the answer'); |
| + ran = true; |
| + } |
| +} |
| + |
| +test(); |
| + |
| +%RunMicrotasks(); |
| + |
| +assertTrue(ran); |
| + |
| +ran = false; |
| +async function test() { |
| + try { |
| + let x = { |
| + get toString() { |
| + throw new Error('42 is the answer'); |
| + } |
| + }; |
| + |
| + let namespace = await import(x); |
| + %AbortJS('failure: this should throw'); |
| + } catch(e) { |
| + assertEquals(e.message, '42 is the answer'); |
| + ran = true; |
| + } |
| +} |
| + |
| +test(); |
| + |
| +%RunMicrotasks(); |
| + |
| +assertTrue(ran); |