OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 import 'dart:async'; | 6 import 'dart:async'; |
7 import 'package:async_helper/async_helper.dart'; | 7 import 'package:async_helper/async_helper.dart'; |
8 | 8 |
9 main() { | 9 main() { |
10 asyncStart(); | 10 asyncStart(); |
11 var x = 499; | 11 dynamic x = 499; |
12 scheduleMicrotask(() { | 12 scheduleMicrotask(() { |
13 Expect.equals(499, x); | 13 Expect.equals(499, x); |
14 x = 42; | 14 x = 42; |
15 }); | 15 }); |
16 new Future.microtask(() { | 16 new Future.microtask(() { |
17 Expect.equals(42, x); | 17 Expect.equals(42, x); |
18 x = null; | 18 x = null; |
19 return 99; | 19 return 99; |
20 }).then((val) { | 20 }).then((val) { |
21 Expect.isNull(x); | 21 Expect.isNull(x); |
22 Expect.equals(99, val); | 22 Expect.equals(99, val); |
23 x = "foo"; | 23 x = "foo"; |
24 }); | 24 }); |
25 scheduleMicrotask(() { | 25 scheduleMicrotask(() { |
26 Expect.equals("foo", x); | 26 Expect.equals("foo", x); |
27 x = "toto"; | 27 x = "toto"; |
28 asyncEnd(); | 28 asyncEnd(); |
29 }); | 29 }); |
30 | 30 |
31 asyncStart(); | 31 asyncStart(); |
32 new Future.microtask(() { | 32 new Future.microtask(() { |
33 throw "foo"; | 33 throw "foo"; |
34 }).catchError((e, stackTrace) { | 34 }).catchError((e, stackTrace) { |
35 Expect.equals("foo", e); | 35 Expect.equals("foo", e); |
36 asyncEnd(); | 36 asyncEnd(); |
37 }); | 37 }); |
38 } | 38 } |
OLD | NEW |