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

Side by Side Diff: tests/lib/async/run_zoned9_test.dart

Issue 3014593002: Use generic functions in zones. (Closed)
Patch Set: Added changes missing from patch set #2 Created 3 years, 3 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
« no previous file with comments | « tests/lib/async/run_zoned6_test.dart ('k') | tests/lib/async/stream_listen_zone_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 import 'dart:async'; 6 import 'dart:async';
7 import 'package:async_helper/async_helper.dart'; 7 import 'package:async_helper/async_helper.dart';
8 8
9 main() { 9 main() {
10 asyncStart(); 10 asyncStart();
11 // Ensure that `runZoned`'s onError handles synchronous errors but delegates 11 // Ensure that `runZoned`'s onError handles synchronous errors but delegates
12 // to the next runZoned when the handler returns false. 12 // to the next runZoned when the handler returns false.
13 bool sawInnerHandler = false; 13 bool sawInnerHandler = false;
14 try { 14 try {
15 runZoned(() { 15 runZoned(() {
16 runZoned(() { 16 runZoned(() {
17 throw 0; 17 throw 0;
18 }, onError: (e) { 18 }, onError: (e) {
19 Expect.equals(0, e); 19 Expect.equals(0, e);
20 sawInnerHandler = true; 20 sawInnerHandler = true;
21 throw e; 21 throw e;
22 }); 22 });
23 }, onError: (e) { 23 }, onError: (e) {
24 Expect.equals(0, e); 24 Expect.equals(0, e);
25 Expect.isTrue(sawInnerHandler); 25 Expect.isTrue(sawInnerHandler);
26 // If we are waiting for an error, don't asyncEnd, but let it time out. 26 // If we are waiting for an error, don't asyncEnd, but let it time out.
27 if (false) //# 01: runtime error 27 throw e; //# 01: ok
28 asyncEnd(); 28 asyncEnd();
29 throw e; // //# 01: continued
30 }); 29 });
31 } catch (e) { 30 } catch (e) {
32 // We should never see an error here. 31 asyncEnd(); return; //# 01: continued
33 if (false) // //# 01: continued
34 rethrow; 32 rethrow;
35 } 33 }
36 } 34 }
OLDNEW
« no previous file with comments | « tests/lib/async/run_zoned6_test.dart ('k') | tests/lib/async/stream_listen_zone_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698