| Index: tests/lib/async/catch_errors18_test.dart
|
| diff --git a/tests/lib/async/catch_errors4_test.dart b/tests/lib/async/catch_errors18_test.dart
|
| similarity index 51%
|
| copy from tests/lib/async/catch_errors4_test.dart
|
| copy to tests/lib/async/catch_errors18_test.dart
|
| index d5681848c3d8eac0b910cfee4af578b326954323..655d5290cadfef6e61fc5ce09b991e77f896042a 100644
|
| --- a/tests/lib/async/catch_errors4_test.dart
|
| +++ b/tests/lib/async/catch_errors18_test.dart
|
| @@ -11,20 +11,22 @@ main() {
|
| // hang if the callbacks are not invoked and the test will time out.
|
| var port = new ReceivePort();
|
| var events = [];
|
| - // Test that synchronous errors inside a `catchErrors` are caught.
|
| + Stream stream = new Stream.periodic(const Duration(milliseconds: 20),
|
| + (x) => x);
|
| + // Test that errors of periodic streams are caught.
|
| catchErrors(() {
|
| - events.add("catch error entry");
|
| - throw "catch error";
|
| - }).listen((x) {
|
| + var subscription;
|
| + subscription = stream.listen((x) {
|
| + if (x == 5) {
|
| + events.add("cancel");
|
| + subscription.cancel();
|
| + return;
|
| + }
|
| events.add(x);
|
| - },
|
| - onDone: () {
|
| - Expect.listEquals(["catch error entry",
|
| - "main exit",
|
| - "catch error",
|
| - ],
|
| - events);
|
| - port.close();
|
| });
|
| - events.add("main exit");
|
| + }).listen((x) { events.add("outer: $x"); },
|
| + onDone: () {
|
| + Expect.listEquals([0, 1, 2, 3, 4, "cancel"], events);
|
| + port.close();
|
| + });
|
| }
|
|
|