| Index: tests/lib/async/future_test.dart
|
| diff --git a/tests/lib/async/future_test.dart b/tests/lib/async/future_test.dart
|
| index 71c509b6fd3973e7790df4418d8b1e55dd7bcb72..9c8dc7e44af1f5544a567d271e18b37b64639a2a 100644
|
| --- a/tests/lib/async/future_test.dart
|
| +++ b/tests/lib/async/future_test.dart
|
| @@ -879,7 +879,6 @@ void testWaitCleanUpError() {
|
| void testWaitSyncError() {
|
| var cms = const Duration(milliseconds: 100);
|
| var cleanups = new List.filled(3, false);
|
| - var uncaughts = new List.filled(3, false);
|
| asyncStart();
|
| asyncStart();
|
| runZoned(() {
|
| @@ -896,6 +895,18 @@ void testWaitSyncError() {
|
| });
|
| }
|
|
|
| +void testWaitSyncError2() {
|
| + asyncStart();
|
| + Future.wait([null]).catchError((e, st) {
|
| + // Makes sure that the `catchError` is invoked.
|
| + // Regression test: an earlier version of `Future.wait` would propagate
|
| + // the error too soon for the code to install an error handler.
|
| + // `testWaitSyncError` didn't show this problem, because the `runZoned`
|
| + // was already installed.
|
| + asyncEnd();
|
| + });
|
| +}
|
| +
|
| void testBadFuture() {
|
| var bad = new BadFuture();
|
| // Completing with bad future (then call throws) puts error in result.
|
| @@ -1096,6 +1107,7 @@ main() {
|
| testWaitCleanUp();
|
| testWaitCleanUpError();
|
| testWaitSyncError();
|
| + testWaitSyncError2();
|
|
|
| testBadFuture();
|
|
|
|
|