OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --harmony-async-await --allow-natives-syntax | 5 // Flags: --harmony-async-await --allow-natives-syntax |
6 | 6 |
7 // Do not install `AsyncFunction` constructor on global object | 7 // Do not install `AsyncFunction` constructor on global object |
8 | 8 |
9 function assertThrowsAsync(run, errorType, message) { | 9 function assertThrowsAsync(run, errorType, message) { |
10 var actual; | 10 var actual; |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 | 362 |
363 // Regress v8:5148 | 363 // Regress v8:5148 |
364 assertEqualsAsync("1", () => (async({ a = NaN }) => a)({ a: "1" })); | 364 assertEqualsAsync("1", () => (async({ a = NaN }) => a)({ a: "1" })); |
365 assertEqualsAsync( | 365 assertEqualsAsync( |
366 "10", () => (async(foo, { a = NaN }) => foo + a)("1", { a: "0" })); | 366 "10", () => (async(foo, { a = NaN }) => foo + a)("1", { a: "0" })); |
367 assertEqualsAsync("2", () => (async({ a = "2" }) => a)({ a: undefined })); | 367 assertEqualsAsync("2", () => (async({ a = "2" }) => a)({ a: undefined })); |
368 assertEqualsAsync( | 368 assertEqualsAsync( |
369 "20", () => (async(foo, { a = "0" }) => foo + a)("2", { a: undefined })); | 369 "20", () => (async(foo, { a = "0" }) => foo + a)("2", { a: undefined })); |
370 assertThrows(() => eval("async({ foo = 1 })"), SyntaxError); | 370 assertThrows(() => eval("async({ foo = 1 })"), SyntaxError); |
371 assertThrows(() => eval("async(a, { foo = 1 })"), SyntaxError); | 371 assertThrows(() => eval("async(a, { foo = 1 })"), SyntaxError); |
| 372 |
| 373 // https://bugs.chromium.org/p/chromium/issues/detail?id=628984 |
| 374 async function gaga() { |
| 375 let i = 1; |
| 376 while (i-- > 0) { await 42 } |
| 377 } |
| 378 assertDoesNotThrow(gaga); |
OLD | NEW |