Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Side by Side Diff: tests/lib_strong/async/catch_errors7_test.dart

Issue 2802973005: Migrate async tests to strong (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
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.
4
5 import 'package:async_helper/async_helper.dart';
6 import "package:expect/expect.dart";
7 import 'dart:async';
8 import 'catch_errors.dart';
9
10 main() {
11 asyncStart();
12 Completer done = new Completer();
13
14 var events = [];
15 // Test that asynchronous errors are caught.
16 catchErrors(() {
17 events.add("catch error entry");
18 var futures = [
19 new Future.error("future error"),
20 new Future.error("future error2"),
21 new Future.value(499).then((x) => throw x),
22 ];
23 int completedCount = 0;
24 for (var future in futures) {
25 future.whenComplete(() {
26 completedCount++;
27 if (completedCount == 3) done.complete(true);
28 });
29 }
30 throw "catch error";
31 }).listen((x) {
32 events.add(x);
33 },
34 onDone: () { Expect.fail("Unexpected callback"); });
35
36 done.future.whenComplete(() {
37 // Give handlers time to execute.
38 Timer.run(() {
39 Expect.listEquals(
40 ["catch error entry",
41 "main exit",
42 "catch error",
43 "future error",
44 "future error2",
45 499,
46 ],
47 events);
48 asyncEnd();
49 });
50 });
51 events.add("main exit");
52 }
OLDNEW
« no previous file with comments | « tests/lib_strong/async/catch_errors6_test.dart ('k') | tests/lib_strong/async/catch_errors8_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698