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

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

Issue 11794043: Remove Signal class and use Future/.whenComplete instead. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Comment updated. Created 7 years, 11 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 | « tests/lib/async/event_helper.dart ('k') | tests/lib/async/stream_controller_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) 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';
11 import 'event_helper.dart'; 11 import 'event_helper.dart';
12 12
13 testController() { 13 testController() {
14 // Test reduce 14 // Test reduce
15 test("StreamController.reduce", () { 15 test("StreamController.reduce", () {
16 StreamController c = new StreamController(); 16 StreamController c = new StreamController();
17 c.reduce(0, (a,b) => a + b) 17 c.reduce(0, (a,b) => a + b)
18 .then(expectAsync1((int v) { 18 .then(expectAsync1((int v) {
19 Expect.equals(42, v); 19 Expect.equals(42, v);
20 })); 20 }));
21 c.add(10); 21 c.add(10);
22 c.add(32); 22 c.add(32);
23 c.close(); 23 c.close();
24 }); 24 });
25 25
26 test("StreamController.reduce throws", () { 26 test("StreamController.reduce throws", () {
27 StreamController c = new StreamController(); 27 StreamController c = new StreamController();
28 c.reduce(0, (a,b) { throw "Fnyf!"; }) 28 c.reduce(0, (a,b) { throw "Fnyf!"; })
29 .catchError(expectAsync1((e) { 29 .catchError(expectAsync1((e) { Expect.equals("Fnyf!", e.error); }));
30 Expect.equals("Fnyf!", e.error);
31 }));
32 c.add(42); 30 c.add(42);
33 }); 31 });
34 32
35 test("StreamController.pipeInto", () { 33 test("StreamController.pipeInto", () {
36 StreamController c = new StreamController(); 34 StreamController c = new StreamController();
37 var list = <int>[]; 35 var list = <int>[];
38 c.pipeInto(new CollectionSink<int>(list)) 36 c.pipeInto(new CollectionSink<int>(list))
39 .then(expectAsync0(() { Expect.listEquals(<int>[1,2,9,3,9], list); })); 37 .whenComplete(expectAsync0(() {
38 Expect.listEquals(<int>[1,2,9,3,9], list);
39 }));
40 c.add(1); 40 c.add(1);
41 c.add(2); 41 c.add(2);
42 c.add(9); 42 c.add(9);
43 c.add(3); 43 c.add(3);
44 c.add(9); 44 c.add(9);
45 c.close(); 45 c.close();
46 }); 46 });
47 } 47 }
48 48
49 testSingleController() { 49 testSingleController() {
(...skipping 10 matching lines...) Expand all
60 StreamController c = new StreamController.singleSubscription(); 60 StreamController c = new StreamController.singleSubscription();
61 c.reduce(0, (a,b) { throw "Fnyf!"; }) 61 c.reduce(0, (a,b) { throw "Fnyf!"; })
62 .catchError(expectAsync1((e) { Expect.equals("Fnyf!", e.error); })); 62 .catchError(expectAsync1((e) { Expect.equals("Fnyf!", e.error); }));
63 c.add(42); 63 c.add(42);
64 }); 64 });
65 65
66 test("Single-subscription StreamController.pipeInto", () { 66 test("Single-subscription StreamController.pipeInto", () {
67 StreamController c = new StreamController.singleSubscription(); 67 StreamController c = new StreamController.singleSubscription();
68 var list = <int>[]; 68 var list = <int>[];
69 c.pipeInto(new CollectionSink<int>(list)) 69 c.pipeInto(new CollectionSink<int>(list))
70 .then(expectAsync0(() { Expect.listEquals(<int>[1,2,9,3,9], list); })); 70 .whenComplete(expectAsync0(() {
71 Expect.listEquals(<int>[1,2,9,3,9], list);
72 }));
71 c.add(1); 73 c.add(1);
72 c.add(2); 74 c.add(2);
73 c.add(9); 75 c.add(9);
74 c.add(3); 76 c.add(3);
75 c.add(9); 77 c.add(9);
76 c.close(); 78 c.close();
77 }); 79 });
78 80
79 test("Single-subscription StreamController subscription changes", () { 81 test("Single-subscription StreamController subscription changes", () {
80 StreamController c = new StreamController.singleSubscription(); 82 StreamController c = new StreamController.singleSubscription();
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 } 285 }
284 286
285 testPause() { 287 testPause() {
286 test("pause event-unpause", () { 288 test("pause event-unpause", () {
287 StreamController c = new StreamController(); 289 StreamController c = new StreamController();
288 Events actualEvents = new Events.capture(c); 290 Events actualEvents = new Events.capture(c);
289 Events expectedEvents = new Events(); 291 Events expectedEvents = new Events();
290 expectedEvents.add(42); 292 expectedEvents.add(42);
291 c.add(42); 293 c.add(42);
292 Expect.listEquals(expectedEvents.events, actualEvents.events); 294 Expect.listEquals(expectedEvents.events, actualEvents.events);
293 SignalCompleter completer = new SignalCompleter(); 295 Completer completer = new Completer();
294 actualEvents.pause(completer.signal); 296 actualEvents.pause(completer.future);
295 c..add(43)..add(44)..close(); 297 c..add(43)..add(44)..close();
296 Expect.listEquals(expectedEvents.events, actualEvents.events); 298 Expect.listEquals(expectedEvents.events, actualEvents.events);
297 completer.complete(); 299 completer.complete();
298 expectedEvents..add(43)..add(44)..close(); 300 expectedEvents..add(43)..add(44)..close();
299 actualEvents.onDone(expectAsync0(() { 301 actualEvents.onDone(expectAsync0(() {
300 Expect.listEquals(expectedEvents.events, actualEvents.events); 302 Expect.listEquals(expectedEvents.events, actualEvents.events);
301 })); 303 }));
302 }); 304 });
303 305
304 test("pause twice event-unpause", () { 306 test("pause twice event-unpause", () {
305 StreamController c = new StreamController(); 307 StreamController c = new StreamController();
306 Events actualEvents = new Events.capture(c); 308 Events actualEvents = new Events.capture(c);
307 Events expectedEvents = new Events(); 309 Events expectedEvents = new Events();
308 expectedEvents.add(42); 310 expectedEvents.add(42);
309 c.add(42); 311 c.add(42);
310 Expect.listEquals(expectedEvents.events, actualEvents.events); 312 Expect.listEquals(expectedEvents.events, actualEvents.events);
311 SignalCompleter completer = new SignalCompleter(); 313 Completer completer = new Completer();
312 SignalCompleter completer2 = new SignalCompleter(); 314 Completer completer2 = new Completer();
313 actualEvents.pause(completer.signal); 315 actualEvents.pause(completer.future);
314 actualEvents.pause(completer2.signal); 316 actualEvents.pause(completer2.future);
315 c..add(43)..add(44)..close(); 317 c..add(43)..add(44)..close();
316 Expect.listEquals(expectedEvents.events, actualEvents.events); 318 Expect.listEquals(expectedEvents.events, actualEvents.events);
317 completer.complete(); 319 completer.complete();
318 Expect.listEquals(expectedEvents.events, actualEvents.events); 320 Expect.listEquals(expectedEvents.events, actualEvents.events);
319 completer2.complete(); 321 completer2.complete();
320 expectedEvents..add(43)..add(44)..close(); 322 expectedEvents..add(43)..add(44)..close();
321 actualEvents.onDone(expectAsync0((){ 323 actualEvents.onDone(expectAsync0((){
322 Expect.listEquals(expectedEvents.events, actualEvents.events); 324 Expect.listEquals(expectedEvents.events, actualEvents.events);
323 })); 325 }));
324 }); 326 });
(...skipping 20 matching lines...) Expand all
345 actualEvents.resume(); 347 actualEvents.resume();
346 }); 348 });
347 349
348 test("pause twice direct-event-unpause", () { 350 test("pause twice direct-event-unpause", () {
349 StreamController c = new StreamController(); 351 StreamController c = new StreamController();
350 Events actualEvents = new Events.capture(c); 352 Events actualEvents = new Events.capture(c);
351 Events expectedEvents = new Events(); 353 Events expectedEvents = new Events();
352 expectedEvents.add(42); 354 expectedEvents.add(42);
353 c.add(42); 355 c.add(42);
354 Expect.listEquals(expectedEvents.events, actualEvents.events); 356 Expect.listEquals(expectedEvents.events, actualEvents.events);
355 SignalCompleter completer = new SignalCompleter(); 357 Completer completer = new Completer();
356 actualEvents.pause(completer.signal); 358 actualEvents.pause(completer.future);
357 actualEvents.pause(); 359 actualEvents.pause();
358 c.add(43); 360 c.add(43);
359 c.add(44); 361 c.add(44);
360 c.close(); 362 c.close();
361 Expect.listEquals(expectedEvents.events, actualEvents.events); 363 Expect.listEquals(expectedEvents.events, actualEvents.events);
362 actualEvents.resume(); 364 actualEvents.resume();
363 Expect.listEquals(expectedEvents.events, actualEvents.events); 365 Expect.listEquals(expectedEvents.events, actualEvents.events);
364 expectedEvents..add(43)..add(44)..close(); 366 expectedEvents..add(43)..add(44)..close();
365 actualEvents.onDone(expectAsync0(() { 367 actualEvents.onDone(expectAsync0(() {
366 Expect.listEquals(expectedEvents.events, actualEvents.events); 368 Expect.listEquals(expectedEvents.events, actualEvents.events);
367 })); 369 }));
368 completer.complete(); 370 completer.complete();
369 }); 371 });
370 372
371 test("pause twice direct-unpause", () { 373 test("pause twice direct-unpause", () {
372 StreamController c = new StreamController(); 374 StreamController c = new StreamController();
373 Events actualEvents = new Events.capture(c); 375 Events actualEvents = new Events.capture(c);
374 Events expectedEvents = new Events(); 376 Events expectedEvents = new Events();
375 expectedEvents.add(42); 377 expectedEvents.add(42);
376 c.add(42); 378 c.add(42);
377 Expect.listEquals(expectedEvents.events, actualEvents.events); 379 Expect.listEquals(expectedEvents.events, actualEvents.events);
378 SignalCompleter completer = new SignalCompleter(); 380 Completer completer = new Completer();
379 actualEvents.pause(completer.signal); 381 actualEvents.pause(completer.future);
380 actualEvents.pause(); 382 actualEvents.pause();
381 c.add(43); 383 c.add(43);
382 c.add(44); 384 c.add(44);
383 c.close(); 385 c.close();
384 Expect.listEquals(expectedEvents.events, actualEvents.events); 386 Expect.listEquals(expectedEvents.events, actualEvents.events);
385 completer.complete(); 387 completer.complete();
386 Expect.listEquals(expectedEvents.events, actualEvents.events); 388 Expect.listEquals(expectedEvents.events, actualEvents.events);
387 expectedEvents..add(43)..add(44)..close(); 389 expectedEvents..add(43)..add(44)..close();
388 actualEvents.onDone(expectAsync0(() { 390 actualEvents.onDone(expectAsync0(() {
389 Expect.listEquals(expectedEvents.events, actualEvents.events); 391 Expect.listEquals(expectedEvents.events, actualEvents.events);
390 })); 392 }));
391 actualEvents.resume(); 393 actualEvents.resume();
392 }); 394 });
393 } 395 }
394 396
395 main() { 397 main() {
396 testController(); 398 testController();
397 testSingleController(); 399 testSingleController();
398 testExtraMethods(); 400 testExtraMethods();
399 testPause(); 401 testPause();
400 } 402 }
OLDNEW
« no previous file with comments | « tests/lib/async/event_helper.dart ('k') | tests/lib/async/stream_controller_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698