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

Side by Side Diff: test/stream_completer_test.dart

Issue 1615253002: Add ClosedStreamSink, and *Completer.setError, and StreamSinkCompleter.fromFuture. (Closed) Base URL: git@github.com:dart-lang/async.git@master
Patch Set: Code review changes Created 4 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
« no previous file with comments | « test/null_stream_sink_test.dart ('k') | test/stream_sink_completer_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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 "dart:async"; 5 import "dart:async";
6 6
7 import "package:async/async.dart" show StreamCompleter; 7 import "package:async/async.dart" show StreamCompleter;
8 import "package:test/test.dart"; 8 import "package:test/test.dart";
9 9
10 import "utils.dart"; 10 import "utils.dart";
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 expect(controller.hasListener, isFalse); 330 expect(controller.hasListener, isFalse);
331 completer.setSourceStream(controller.stream); 331 completer.setSourceStream(controller.stream);
332 await flushMicrotasks(); 332 await flushMicrotasks();
333 expect(controller.hasListener, isTrue); 333 expect(controller.hasListener, isTrue);
334 controller.addError(42); 334 controller.addError(42);
335 await done.then(unreachable("data"), onError: (error) { 335 await done.then(unreachable("data"), onError: (error) {
336 expect(error, 42); 336 expect(error, 42);
337 }); 337 });
338 expect(controller.hasListener, isFalse); 338 expect(controller.hasListener, isFalse);
339 }); 339 });
340
341 group("setError()", () {
342 test("produces a stream that emits a single error", () {
343 var completer = new StreamCompleter();
344 completer.stream.listen(
345 unreachable("data"),
346 onError: expectAsync((error, stackTrace) {
347 expect(error, equals("oh no"));
348 }),
349 onDone: expectAsync(() {}));
350
351 completer.setError("oh no");
352 });
353
354 test("produces a stream that emits a single error on a later listen",
355 () async {
356 var completer = new StreamCompleter();
357 completer.setError("oh no");
358 await flushMicrotasks();
359
360 completer.stream.listen(
361 unreachable("data"),
362 onError: expectAsync((error, stackTrace) {
363 expect(error, equals("oh no"));
364 }),
365 onDone: expectAsync(() {}));
366 });
367 });
340 } 368 }
341 369
342 Stream<int> createStream() async* { 370 Stream<int> createStream() async* {
343 yield 1; 371 yield 1;
344 await flushMicrotasks(); 372 await flushMicrotasks();
345 yield 2; 373 yield 2;
346 await flushMicrotasks(); 374 await flushMicrotasks();
347 yield 3; 375 yield 3;
348 await flushMicrotasks(); 376 await flushMicrotasks();
349 yield 4; 377 yield 4;
350 } 378 }
OLDNEW
« no previous file with comments | « test/null_stream_sink_test.dart ('k') | test/stream_sink_completer_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698