OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 library future_test; | |
6 | |
7 import "package:expect/expect.dart"; | |
8 import 'dart:async'; | |
9 | |
10 main() { | |
11 compare(func) { | |
12 // Compare the results of the following two futures. | |
13 Future f1 = new Future(func); | |
14 Future f2 = new Future.value().then((_) => func()); | |
15 f2.catchError((_) {}); // I'll get the error later. | |
16 f1.then((v1) { | |
17 f2.then((v2) { | |
18 Expect.equals(v1, v2); | |
19 }); | |
20 }, onError: (e1) { | |
21 f2.then((_) { | |
22 Expect.fail("Expected error"); | |
23 }, onError: (e2) { | |
24 Expect.equals(e1, e2); | |
25 }); | |
26 }); | |
27 } | |
28 | |
29 Future val = new Future.value(42); | |
30 Future err1 = new Future.error("Error")..catchError((_) {}); | |
31 compare(() => 42); | |
32 compare(() => val); | |
33 compare(() { | |
34 throw "Flif"; | |
35 }); | |
36 compare(() => err1); | |
37 bool hasExecuted = false; | |
38 compare(() { | |
39 hasExecuted = true; | |
40 return 499; | |
41 }); | |
42 Expect.isFalse(hasExecuted); | |
43 } | |
OLD | NEW |