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

Unified Diff: packages/async/test/stream_completer_test.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: packages/async/test/stream_completer_test.dart
diff --git a/packages/async/test/stream_completer_test.dart b/packages/async/test/stream_completer_test.dart
index cd3ceb9fa49a78fce51ac6f299db7a31a8c02dd9..2e9ff9be9e909df92dd599387948240ad84da523 100644
--- a/packages/async/test/stream_completer_test.dart
+++ b/packages/async/test/stream_completer_test.dart
@@ -27,9 +27,9 @@ main() {
test("cancel before linking a stream doesn't listen on stream", () async {
var completer = new StreamCompleter();
var subscription = completer.stream.listen(null);
- subscription.pause(); // Should be ignored.
+ subscription.pause(); // Should be ignored.
subscription.cancel();
- completer.setSourceStream(new UnusableStream()); // Doesn't throw.
+ completer.setSourceStream(new UnusableStream()); // Doesn't throw.
});
test("listen and pause before linking stream", () async {
@@ -78,14 +78,13 @@ main() {
var lastEvent = -1;
var controller = new StreamController();
var subscription;
- subscription = completer.stream.listen(
- (value) {
- expect(value, lessThan(3));
- lastEvent = value;
- if (value == 2) {
- subscription.cancel();
- }
- },
+ subscription = completer.stream.listen((value) {
+ expect(value, lessThan(3));
+ lastEvent = value;
+ if (value == 2) {
+ subscription.cancel();
+ }
+ },
onError: unreachable("error"),
onDone: unreachable("done"),
cancelOnError: true);
@@ -110,27 +109,23 @@ main() {
var completer = new StreamCompleter();
completer.setEmpty();
var done = new Completer();
- completer.stream.listen(
- unreachable("data"),
- onError: unreachable("error"),
- onDone: done.complete);
+ completer.stream.listen(unreachable("data"),
+ onError: unreachable("error"), onDone: done.complete);
await done.future;
});
test("complete with setEmpty after listening", () async {
var completer = new StreamCompleter();
var done = new Completer();
- completer.stream.listen(
- unreachable("data"),
- onError: unreachable("error"),
- onDone: done.complete);
+ completer.stream.listen(unreachable("data"),
+ onError: unreachable("error"), onDone: done.complete);
completer.setEmpty();
await done.future;
});
test("source stream isn't listened to until completer stream is", () async {
var completer = new StreamCompleter();
- var controller;
+ StreamController controller;
controller = new StreamController(onListen: () {
scheduleMicrotask(controller.close);
});
@@ -147,17 +142,13 @@ main() {
var completer = new StreamCompleter();
var lastEvent = -1;
var controller = new StreamController();
- completer.stream.listen(
- (value) {
- expect(value, lessThan(3));
- lastEvent = value;
- },
- onError: (value) {
- expect(value, "3");
- lastEvent = value;
- },
- onDone: unreachable("done"),
- cancelOnError: true);
+ completer.stream.listen((value) {
+ expect(value, lessThan(3));
+ lastEvent = value;
+ }, onError: (value) {
+ expect(value, "3");
+ lastEvent = value;
+ }, onDone: unreachable("done"), cancelOnError: true);
completer.setSourceStream(controller.stream);
expect(controller.hasListener, isTrue);
@@ -188,17 +179,13 @@ main() {
controller.add(1);
expect(controller.hasListener, isFalse);
- completer.stream.listen(
- (value) {
- expect(value, lessThan(3));
- lastEvent = value;
- },
- onError: (value) {
- expect(value, "3");
- lastEvent = value;
- },
- onDone: unreachable("done"),
- cancelOnError: true);
+ completer.stream.listen((value) {
+ expect(value, lessThan(3));
+ lastEvent = value;
+ }, onError: (value) {
+ expect(value, "3");
+ lastEvent = value;
+ }, onDone: unreachable("done"), cancelOnError: true);
expect(controller.hasListener, isTrue);
@@ -281,7 +268,7 @@ main() {
var completer = new StreamCompleter();
var controller = new StreamController();
var subscription = completer.stream.listen(null);
- var lastEvent = 0;
+ Object lastEvent = 0;
subscription.onData((value) => lastEvent = value);
subscription.onError((value) => lastEvent = "$value");
subscription.onDone(() => lastEvent = -1);
@@ -324,8 +311,8 @@ main() {
test("asFuture with error accross setting stream", () async {
var completer = new StreamCompleter();
var controller = new StreamController();
- var subscription = completer.stream.listen(unreachable("data"),
- cancelOnError: false);
+ var subscription =
+ completer.stream.listen(unreachable("data"), cancelOnError: false);
var done = subscription.asFuture();
expect(controller.hasListener, isFalse);
completer.setSourceStream(controller.stream);
@@ -337,6 +324,30 @@ main() {
});
expect(controller.hasListener, isFalse);
});
+
+ group("setError()", () {
+ test("produces a stream that emits a single error", () {
+ var completer = new StreamCompleter();
+ completer.stream.listen(unreachable("data"),
+ onError: expectAsync2((error, stackTrace) {
+ expect(error, equals("oh no"));
+ }), onDone: expectAsync0(() {}));
+
+ completer.setError("oh no");
+ });
+
+ test("produces a stream that emits a single error on a later listen",
+ () async {
+ var completer = new StreamCompleter();
+ completer.setError("oh no");
+ await flushMicrotasks();
+
+ completer.stream.listen(unreachable("data"),
+ onError: expectAsync2((error, stackTrace) {
+ expect(error, equals("oh no"));
+ }), onDone: expectAsync0(() {}));
+ });
+ });
}
Stream<int> createStream() async* {
« no previous file with comments | « packages/async/test/single_subscription_transformer_test.dart ('k') | packages/async/test/stream_group_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698