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 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 } | 329 } |
330 try { | 330 try { |
331 value = await rejectLater("throw2"); | 331 value = await rejectLater("throw2"); |
332 } catch (e) { | 332 } catch (e) { |
333 log.push("resume:" + e); | 333 log.push("resume:" + e); |
334 } | 334 } |
335 return value + 1;`); | 335 return value + 1;`); |
336 log = []; | 336 log = []; |
337 assertEqualsAsync(6, () => resumeAfterThrowNewEval(5)); | 337 assertEqualsAsync(6, () => resumeAfterThrowNewEval(5)); |
338 assertEquals("start:5 resume:throw1 resume:throw2", log.join(" ")); | 338 assertEquals("start:5 resume:throw1 resume:throw2", log.join(" ")); |
| 339 |
| 340 async function foo() {} |
| 341 assertEquals("async function foo() {}", foo.toString()); |
| 342 assertEquals("async function () {}", async function() {}.toString()); |
| 343 assertEquals("async x => x", (async x => x).toString()); |
| 344 assertEquals("async x => { return x }", (async x => { return x }).toString()); |
| 345 class AsyncMethod { async foo() { } } |
| 346 assertEquals("async foo() { }", Function.prototype.toString.call(AsyncMethod.pro
totype.foo)); |
| 347 assertEquals("async foo() { }", Function.prototype.toString.call({async foo() {
}}.foo)); |
OLD | NEW |