OLD | NEW |
---|---|
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:async_helper/async_helper.dart'; | 5 import 'package:async_helper/async_helper.dart'; |
6 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'catch_errors.dart'; | 8 import 'catch_errors.dart'; |
9 | 9 |
10 main() { | 10 main() { |
11 asyncStart(); | 11 asyncStart(); |
12 var events = []; | 12 var events = []; |
13 StreamController controller = new StreamController(); | 13 StreamController controller = new StreamController(); |
14 Stream stream = controller.stream; | 14 Stream stream = controller.stream; |
15 // Test that the subscription of a stream is what counts. The error (2) runs | 15 // Test that the subscription of a stream is what counts. The error (2) runs |
16 // through the map-stream which goes through the nested `catchError` but | 16 // through the map-stream which goes through the nested `catchError` but |
17 // the nested `catchError` won't see the error. | 17 // the nested `catchError` won't see the error. |
18 catchErrors(() { | 18 catchErrors(() { |
19 stream = stream.map((x) => x + 100); | 19 stream = stream.map((x) => x + 100); |
20 }).listen((x) { events.add(x); }); | 20 }).listen((x) { events.add(x); }); |
21 stream | 21 stream |
22 .transform(new StreamTransformer( | 22 .transform(new StreamTransformer.fromHandlers( |
23 handleError: (e, sink) => sink.add("error $e"))) | 23 handleError: (e, st, sink) => sink.add("error $e"))) |
Lasse Reichstein Nielsen
2013/10/07 11:47:00
I prefer braces to '=>' for void functions.
floitsch
2013/10/10 15:39:57
Done.
| |
24 .listen((x) { events.add("stream $x"); }, | 24 .listen((x) { events.add("stream $x"); }, |
25 onDone: () { | 25 onDone: () { |
26 Expect.listEquals(["stream 101", | 26 Expect.listEquals(["stream 101", |
27 "stream error 2", | 27 "stream error 2", |
28 ], | 28 ], |
29 events); | 29 events); |
30 asyncEnd(); | 30 asyncEnd(); |
31 }); | 31 }); |
32 controller.add(1); | 32 controller.add(1); |
33 controller.addError(2); | 33 controller.addError(2); |
34 controller.close(); | 34 controller.close(); |
35 } | 35 } |
OLD | NEW |