| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 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 | 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 library future_test; | 5 library future_test; |
| 6 | 6 |
| 7 import "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; |
| 8 import 'dart:async'; | 8 import 'dart:async'; |
| 9 import 'dart:isolate'; | 9 import 'dart:isolate'; |
| 10 | 10 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 | 69 |
| 70 future.then((v) => Expect.equals(3, v)); | 70 future.then((v) => Expect.equals(3, v)); |
| 71 } | 71 } |
| 72 | 72 |
| 73 // Tests for [then] | 73 // Tests for [then] |
| 74 | 74 |
| 75 testCompleteWithSuccessHandlerBeforeComplete() { | 75 testCompleteWithSuccessHandlerBeforeComplete() { |
| 76 final completer = new Completer<int>(); | 76 final completer = new Completer<int>(); |
| 77 final future = completer.future; | 77 final future = completer.future; |
| 78 | 78 |
| 79 int value; | 79 int after; |
| 80 future.then((int v) { value = v; }); | |
| 81 Expect.isNull(value); | |
| 82 | 80 |
| 83 Expect.isFalse(completer.isCompleted); | 81 var port = new ReceivePort(); |
| 82 future.then((int v) { after = v; }) |
| 83 .then((_) { |
| 84 Expect.equals(3, after); |
| 85 port.close(); |
| 86 }); |
| 87 |
| 84 completer.complete(3); | 88 completer.complete(3); |
| 85 Expect.isTrue(completer.isCompleted); | 89 Expect.isNull(after); |
| 86 | |
| 87 Expect.equals(3, value); | |
| 88 } | 90 } |
| 89 | 91 |
| 90 testCompleteWithSuccessHandlerAfterComplete() { | 92 testCompleteWithSuccessHandlerAfterComplete() { |
| 91 final completer = new Completer<int>(); | 93 final completer = new Completer<int>(); |
| 92 final future = completer.future; | 94 final future = completer.future; |
| 93 | 95 |
| 94 int after; | 96 int after; |
| 95 completer.complete(3); | 97 completer.complete(3); |
| 96 Expect.isNull(after); | 98 Expect.isNull(after); |
| 97 | 99 |
| (...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 651 testFutureCatchThrowsAsync(); | 653 testFutureCatchThrowsAsync(); |
| 652 testFutureWhenThrowsAsync(); | 654 testFutureWhenThrowsAsync(); |
| 653 testFutureCatchRethrowsAsync(); | 655 testFutureCatchRethrowsAsync(); |
| 654 | 656 |
| 655 testChainedFutureValue(); | 657 testChainedFutureValue(); |
| 656 testChainedFutureValueDelay(); | 658 testChainedFutureValueDelay(); |
| 657 testChainedFutureError(); | 659 testChainedFutureError(); |
| 658 } | 660 } |
| 659 | 661 |
| 660 | 662 |
| OLD | NEW |