Chromium Code Reviews| Index: tests/lib/async/catch_errors2_test.dart |
| diff --git a/tests/lib/async/catch_errors2_test.dart b/tests/lib/async/catch_errors2_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e67d665019b5f67e1f5f77fc268d5fb4501526fa |
| --- /dev/null |
| +++ b/tests/lib/async/catch_errors2_test.dart |
| @@ -0,0 +1,28 @@ |
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +import "package:expect/expect.dart"; |
| +import 'dart:async'; |
| +import 'dart:isolate'; |
| + |
| +main() { |
| + // We keep a ReceivePort open until all tests are done. This way the VM will |
| + // time out if the callbacks are not invoked. |
| + var port = new ReceivePort(); |
| + bool futureWasExecuted = false; |
| + // Make sure that `catchErrors` only closes the error stream when the inner |
| + // futures are done. |
| + catchErrors(() { |
| + new Future(() { |
| + futureWasExecuted = true; |
| + }); |
| + return 'allDone'; |
| + }).listen((x) { |
| + Expect.fail("Unexped callback"); |
|
Lasse Reichstein Nielsen
2013/05/29 08:04:59
Unexpected.
floitsch
2013/05/29 15:21:29
Done.
|
| + }, |
| + onDone: () { |
| + Expect.isTrue(futureWasExecuted); |
| + port.close(); |
| + }); |
| +} |