OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 // Test that an async function does not start immediately. | |
6 | |
7 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
8 import "package:async_helper/async_helper.dart"; | 6 import "package:async_helper/async_helper.dart"; |
9 | 7 |
10 var x = 0; | 8 class A { |
| 9 int a = -1; |
| 10 foo(ignored) { |
| 11 (){}; |
| 12 Expect.equals(-1, a); |
| 13 } |
| 14 } |
11 | 15 |
12 foo() async { | 16 test() async { |
13 x++; | 17 new A().foo(await false); |
14 await 1; | |
15 x++; | |
16 } | 18 } |
17 | 19 |
18 void main() { | 20 void main() { |
19 asyncStart(); | 21 asyncStart(); |
20 foo().then((_) => Expect.equals(2, x)).whenComplete(asyncEnd); | 22 test().then((_) => asyncEnd()); |
21 Expect.equals(0, x); | |
22 } | 23 } |
OLD | NEW |