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

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

Issue 12380015: Fix for issue 8311. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Add test. Created 7 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « sdk/lib/async/stream.dart ('k') | no next file » | 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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 library stream_transform_test; 5 library stream_transform_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import '../../../pkg/unittest/lib/unittest.dart'; 8 import '../../../pkg/unittest/lib/unittest.dart';
9 import 'event_helper.dart'; 9 import 'event_helper.dart';
10 10
11 11
12 main() { 12 main() {
13 // Regression tests for http://dartbug.com/8311 13 // Regression tests for http://dartbug.com/8310 and 8311
14 14
15 test("simpleDone", () { 15 test("simpleDone", () {
16 StreamController c = new StreamController(); 16 StreamController c = new StreamController();
17 Stream out = c.stream.handleError((x){}).handleError((x){}); 17 Stream out = c.stream.handleError((x){}).handleError((x){});
18 out.listen((v){}, onDone: expectAsync0(() {})); 18 out.listen((v){}, onDone: expectAsync0(() {}));
19 // Should not throw. 19 // Should not throw.
20 c.close(); 20 c.close();
21 }); 21 });
22 22
23 test("with events", () { 23 test("with events", () {
(...skipping 14 matching lines...) Expand all
38 Events input = new Events.fromIterable([1, 2, 3, 4, 5, 6, 7]); 38 Events input = new Events.fromIterable([1, 2, 3, 4, 5, 6, 7]);
39 Events actual = new Events.capture( 39 Events actual = new Events.capture(
40 c.stream.map((x) => x * 2).where((x) => x > 5).skip(2).take(2)); 40 c.stream.map((x) => x * 2).where((x) => x > 5).skip(2).take(2));
41 actual.onDone(expectAsync0(() { 41 actual.onDone(expectAsync0(() {
42 Expect.listEquals(expected.events, actual.events); 42 Expect.listEquals(expected.events, actual.events);
43 })); 43 }));
44 actual.pause(); 44 actual.pause();
45 input.replay(c); 45 input.replay(c);
46 actual.resume(); 46 actual.resume();
47 }); 47 });
48
49 test("closing after done", () {
50 var controller = new StreamController();
51 var buffer = new StringBuffer();
52 controller.stream.map((e) => e).transform(new StreamTransformer(
53 handleData: (element, sink) { sink.add(element); },
54 handleDone: (sink) { sink.close(); })
55 ).listen(expectAsync1((e) => expect(e, equals("foo"))));
56
57 controller.add("foo");
58 // Should not crash.
59 controller.close();
60 });
48 } 61 }
OLDNEW
« no previous file with comments | « sdk/lib/async/stream.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698