OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 "dart:async"; | 5 import "dart:async"; |
6 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
7 | 7 |
8 var result = ""; | 8 var result = ""; |
9 | 9 |
10 foo() { | 10 foo() { |
11 result += "foo"; | 11 result += "foo"; |
12 } | 12 } |
13 | 13 |
14 bar() async { | 14 bar() async { |
15 result += "bar"; | 15 result += "bar"; |
16 } | 16 } |
17 | 17 |
18 main() async { | 18 main() async { |
19 var f = new Future(foo); | 19 var f = new Future(foo); |
20 var b = bar(); | 20 var b = bar(); |
21 Expect.equals("", result); | 21 Expect.equals("", result); |
22 scheduleMicrotask(() => result += "micro"); | 22 scheduleMicrotask(() => result += "micro"); |
23 await b; | 23 await b; |
24 await f; | 24 await f; |
25 | 25 |
26 // Validates that bar is scheduled as a microtask, before foo. | 26 // Validates that bar is scheduled as a microtask, before foo. |
27 Expect.equals("barmicrofoo", result); | 27 Expect.equals("barmicrofoo", result); |
28 } | 28 } |
OLD | NEW |