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

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

Issue 12610006: Renamed StreamSink to EventSink. Renamed signalError to addError. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Changed inheritance back! Now create StreamSink instead of EventSink where we create them. 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
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 // Test the basic StreamController and StreamController.singleSubscription. 5 // Test the basic StreamController and StreamController.singleSubscription.
6 library stream_controller_async_test; 6 library stream_controller_async_test;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:isolate'; 9 import 'dart:isolate';
10 import '../../../pkg/unittest/lib/unittest.dart'; 10 import '../../../pkg/unittest/lib/unittest.dart';
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 c.add(1); 79 c.add(1);
80 c.add(2); 80 c.add(2);
81 c.add(9); 81 c.add(9);
82 c.add(3); 82 c.add(3);
83 c.add(9); 83 c.add(9);
84 c.close(); 84 c.close();
85 }); 85 });
86 86
87 test("Single-subscription StreamController subscription changes", () { 87 test("Single-subscription StreamController subscription changes", () {
88 StreamController c = new StreamController(); 88 StreamController c = new StreamController();
89 StreamSink sink = c.sink; 89 EventSink sink = c.sink;
90 Stream stream = c.stream; 90 Stream stream = c.stream;
91 int counter = 0; 91 int counter = 0;
92 var subscription; 92 var subscription;
93 subscription = stream.listen((data) { 93 subscription = stream.listen((data) {
94 counter += data; 94 counter += data;
95 Expect.throws(() => stream.listen(null), (e) => e is StateError); 95 Expect.throws(() => stream.listen(null), (e) => e is StateError);
96 subscription.cancel(); 96 subscription.cancel();
97 stream.listen((data) { 97 stream.listen((data) {
98 counter += data * 10; 98 counter += data * 10;
99 }, 99 },
100 onDone: expectAsync0(() { 100 onDone: expectAsync0(() {
101 Expect.equals(1 + 20, counter); 101 Expect.equals(1 + 20, counter);
102 })); 102 }));
103 }); 103 });
104 sink.add(1); 104 sink.add(1);
105 sink.add(2); 105 sink.add(2);
106 sink.close(); 106 sink.close();
107 }); 107 });
108 108
109 test("Single-subscription StreamController events are buffered when" 109 test("Single-subscription StreamController events are buffered when"
110 " there is no subscriber", 110 " there is no subscriber",
111 () { 111 () {
112 StreamController c = new StreamController(); 112 StreamController c = new StreamController();
113 StreamSink sink = c.sink; 113 EventSink sink = c.sink;
114 Stream stream = c.stream; 114 Stream stream = c.stream;
115 int counter = 0; 115 int counter = 0;
116 sink.add(1); 116 sink.add(1);
117 sink.add(2); 117 sink.add(2);
118 sink.close(); 118 sink.close();
119 stream.listen( 119 stream.listen(
120 (data) { 120 (data) {
121 counter += data; 121 counter += data;
122 }, 122 },
123 onDone: expectAsync0(() { 123 onDone: expectAsync0(() {
124 Expect.equals(3, counter); 124 Expect.equals(3, counter);
125 })); 125 }));
126 }); 126 });
127 127
128 // Test subscription changes while firing. 128 // Test subscription changes while firing.
129 test("Single-subscription StreamController subscription changes while firing", 129 test("Single-subscription StreamController subscription changes while firing",
130 () { 130 () {
131 StreamController c = new StreamController(); 131 StreamController c = new StreamController();
132 StreamSink sink = c.sink; 132 EventSink sink = c.sink;
133 Stream stream = c.stream; 133 Stream stream = c.stream;
134 int counter = 0; 134 int counter = 0;
135 var subscription = stream.listen(null); 135 var subscription = stream.listen(null);
136 subscription.onData(expectAsync1((data) { 136 subscription.onData(expectAsync1((data) {
137 counter += data; 137 counter += data;
138 subscription.cancel(); 138 subscription.cancel();
139 stream.listen((data) { 139 stream.listen((data) {
140 counter += 10 * data; 140 counter += 10 * data;
141 }, 141 },
142 onDone: expectAsync0(() { 142 onDone: expectAsync0(() {
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 c.close(); 413 c.close();
414 }); 414 });
415 } 415 }
416 416
417 testStreamError(name, streamErrorTransform) { 417 testStreamError(name, streamErrorTransform) {
418 test("rethrow-$name-error", () { 418 test("rethrow-$name-error", () {
419 StreamController c = new StreamController(); 419 StreamController c = new StreamController();
420 Stream s = streamErrorTransform(c.stream, (e) { throw error; }); 420 Stream s = streamErrorTransform(c.stream, (e) { throw error; });
421 s.listen((_) { Expect.fail("unexpected value"); }, onError: expectAsync1( 421 s.listen((_) { Expect.fail("unexpected value"); }, onError: expectAsync1(
422 (AsyncError e) { Expect.identical(error, e); })); 422 (AsyncError e) { Expect.identical(error, e); }));
423 c.signalError(null); 423 c.addError(null);
424 c.close(); 424 c.close();
425 }); 425 });
426 } 426 }
427 427
428 testFuture(name, streamValueTransform) { 428 testFuture(name, streamValueTransform) {
429 test("rethrow-$name-value", () { 429 test("rethrow-$name-value", () {
430 StreamController c = new StreamController(); 430 StreamController c = new StreamController();
431 Future f = streamValueTransform(c.stream, (v) { throw error; }); 431 Future f = streamValueTransform(c.stream, (v) { throw error; });
432 f.then((v) { Expect.fail("unreachable"); }, 432 f.then((v) { Expect.fail("unreachable"); },
433 onError: expectAsync1((e) { Expect.identical(error, e); })); 433 onError: expectAsync1((e) { Expect.identical(error, e); }));
(...skipping 17 matching lines...) Expand all
451 testFuture("reduce", (s, act) => s.reduce(0, (a,b) => act(b))); 451 testFuture("reduce", (s, act) => s.reduce(0, (a,b) => act(b)));
452 } 452 }
453 453
454 main() { 454 main() {
455 testController(); 455 testController();
456 testSingleController(); 456 testSingleController();
457 testExtraMethods(); 457 testExtraMethods();
458 testPause(); 458 testPause();
459 testRethrow(); 459 testRethrow();
460 } 460 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698