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; | |
floitsch
2015/03/06 16:32:16
Make it look like 'a' can be mutated.
Otherwise we
sigurdm
2015/03/09 14:34:12
Done.
| |
10 foo(ignored) { | |
11 (){}; | |
floitsch
2015/03/06 16:32:16
Rather use "@NoInline" from Expect.
sigurdm
2015/03/09 14:34:12
Done.
| |
12 Expect.equals(-1, a); | |
floitsch
2015/03/06 16:32:16
write "this.a" ?
sigurdm
2015/03/09 14:34:12
Done.
| |
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()); |
floitsch
2015/03/06 16:32:16
dbc: maybe we should make asyncEnd take an optiona
sigurdm
2015/03/09 14:34:12
Acknowledged.
| |
21 Expect.equals(0, x); | |
22 } | 23 } |
OLD | NEW |