| Index: tests/lib/async/catch_errors28_test.dart
|
| diff --git a/tests/lib/async/catch_errors4_test.dart b/tests/lib/async/catch_errors28_test.dart
|
| similarity index 65%
|
| copy from tests/lib/async/catch_errors4_test.dart
|
| copy to tests/lib/async/catch_errors28_test.dart
|
| index d14f948911d101cfd7d8fb00e6ebcffc87981909..a5ce19e1270c89291333580070da82118a7f13b2 100644
|
| --- a/tests/lib/async/catch_errors4_test.dart
|
| +++ b/tests/lib/async/catch_errors28_test.dart
|
| @@ -8,21 +8,24 @@ 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.
|
| + // 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.
|
| + // Test that periodic Timers are handled correctly by `catchErrors`.
|
| catchErrors(() {
|
| - events.add("catch error entry");
|
| - throw "catch error";
|
| + int counter = 0;
|
| + new Timer.periodic(const Duration(milliseconds: 50), (timer) {
|
| + if (counter == 5) timer.cancel();
|
| + counter++;
|
| + events.add(counter);
|
| + });
|
| }).listen((x) {
|
| events.add(x);
|
| },
|
| onDone: () {
|
| Expect.listEquals([
|
| - "catch error entry",
|
| "main exit",
|
| - "catch error",
|
| + 1, 2, 3, 4, 5, 6,
|
| ],
|
| events);
|
| port.close();
|
|
|