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

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

Issue 16125005: Make new StreamController be async by default. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comments Created 7 years, 6 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
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 "package:expect/expect.dart"; 7 import "package:expect/expect.dart";
8 import 'dart:async'; 8 import 'dart:async';
9 import '../../../pkg/unittest/lib/unittest.dart'; 9 import '../../../pkg/unittest/lib/unittest.dart';
10 import 'event_helper.dart'; 10 import 'event_helper.dart';
11 11
12 12
13 main() { 13 main() {
14 // Regression tests for http://dartbug.com/8310 and 8311 14 // Regression tests for http://dartbug.com/8310 and 8311
15 15
16 test("simpleDone", () { 16 test("simpleDone", () {
17 StreamController c = new StreamController(); 17 StreamController c = new StreamController(sync: true);
18 Stream out = c.stream.handleError((x){}).handleError((x){}); 18 Stream out = c.stream.handleError((x){}).handleError((x){});
19 out.listen((v){}, onDone: expectAsync0(() {})); 19 out.listen((v){}, onDone: expectAsync0(() {}));
20 // Should not throw. 20 // Should not throw.
21 c.close(); 21 c.close();
22 }); 22 });
23 23
24 test("with events", () { 24 test("with events", () {
25 StreamController c = new StreamController(); 25 StreamController c = new StreamController(sync: true);
26 Events expected = new Events.fromIterable([10, 12]); 26 Events expected = new Events.fromIterable([10, 12]);
27 Events input = new Events.fromIterable([1, 2, 3, 4, 5, 6, 7]); 27 Events input = new Events.fromIterable([1, 2, 3, 4, 5, 6, 7]);
28 Events actual = new Events.capture( 28 Events actual = new Events.capture(
29 c.stream.map((x) => x * 2).where((x) => x > 5).skip(2).take(2)); 29 c.stream.map((x) => x * 2).where((x) => x > 5).skip(2).take(2));
30 actual.onDone(expectAsync0(() { 30 actual.onDone(expectAsync0(() {
31 Expect.listEquals(expected.events, actual.events); 31 Expect.listEquals(expected.events, actual.events);
32 })); 32 }));
33 input.replay(c); 33 input.replay(c);
34 }); 34 });
35 35
36 test("paused events", () { 36 test("paused events", () {
37 StreamController c = new StreamController(); 37 StreamController c = new StreamController(sync: true);
38 Events expected = new Events.fromIterable([10, 12]); 38 Events expected = new Events.fromIterable([10, 12]);
39 Events input = new Events.fromIterable([1, 2, 3, 4, 5, 6, 7]); 39 Events input = new Events.fromIterable([1, 2, 3, 4, 5, 6, 7]);
40 Events actual = new Events.capture( 40 Events actual = new Events.capture(
41 c.stream.map((x) => x * 2).where((x) => x > 5).skip(2).take(2)); 41 c.stream.map((x) => x * 2).where((x) => x > 5).skip(2).take(2));
42 actual.onDone(expectAsync0(() { 42 actual.onDone(expectAsync0(() {
43 Expect.listEquals(expected.events, actual.events); 43 Expect.listEquals(expected.events, actual.events);
44 })); 44 }));
45 actual.pause(); 45 actual.pause();
46 input.replay(c); 46 input.replay(c);
47 actual.resume(); 47 actual.resume();
48 }); 48 });
49 49
50 test("closing after done", () { 50 test("closing after done", () {
51 var controller = new StreamController(); 51 var controller = new StreamController(sync: true);
52 controller.stream.map((e) => e).transform(new StreamTransformer( 52 controller.stream.map((e) => e).transform(new StreamTransformer(
53 handleData: (element, sink) { sink.add(element); }, 53 handleData: (element, sink) { sink.add(element); },
54 handleDone: (sink) { sink.close(); }) 54 handleDone: (sink) { sink.close(); })
55 ).listen(expectAsync1((e) => expect(e, equals("foo")))); 55 ).listen(expectAsync1((e) => expect(e, equals("foo"))));
56 56
57 controller.add("foo"); 57 controller.add("foo");
58 // Should not crash. 58 // Should not crash.
59 controller.close(); 59 controller.close();
60 }); 60 });
61 } 61 }
OLDNEW
« no previous file with comments | « tests/lib/async/stream_subscription_as_future_test.dart ('k') | tests/standalone/io/http_parser_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698