OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 // VMOptions=--optimization-counter-threshold=5 | 5 // VMOptions=--optimization-counter-threshold=5 |
6 | 6 |
7 import 'package:expect/expect.dart'; | 7 import 'package:expect/expect.dart'; |
| 8 import "package:async_helper/async_helper.dart"; |
8 | 9 |
9 import 'dart:async'; | 10 import 'dart:async'; |
10 | 11 |
11 // It does not matter where a future is generated. | 12 // It does not matter where a future is generated. |
12 bar(p) async => p; | 13 bar(p) async => p; |
13 baz(p) => new Future(() => p); | 14 baz(p) => new Future(() => p); |
14 | 15 |
15 test0_1() async { | 16 test0_1() async { |
16 throw 1; | 17 throw 1; |
17 } | 18 } |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 } | 63 } |
63 } catch (e) { | 64 } catch (e) { |
64 x = e + 'd'; | 65 x = e + 'd'; |
65 return '?'; | 66 return '?'; |
66 } finally { | 67 } finally { |
67 return x; | 68 return x; |
68 } | 69 } |
69 return '!'; | 70 return '!'; |
70 } | 71 } |
71 | 72 |
72 main() async { | 73 test() async { |
73 var result; | 74 var result; |
74 for (int i = 0; i < 10; i++) { | 75 for (int i = 0; i < 10; i++) { |
75 await test0(); | 76 await test0(); |
76 await test1(); | 77 await test1(); |
77 result = await test2(); | 78 result = await test2(); |
78 Expect.equals('abcd', result); | 79 Expect.equals('abcd', result); |
79 } | 80 } |
| 81 await 1; |
80 } | 82 } |
| 83 |
| 84 foo() { |
| 85 throw "Error"; |
| 86 } |
| 87 |
| 88 awaitFoo() async { |
| 89 await foo(); |
| 90 } |
| 91 |
| 92 main() { |
| 93 asyncStart(); |
| 94 test().then((_) => awaitFoo().then( |
| 95 (_) => Expect.fail("Should have thrown"), |
| 96 onError: (error) => Expect.equals("Error", error))) |
| 97 .whenComplete(asyncEnd); |
| 98 } |
OLD | NEW |