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

Unified Diff: test/stream_queue_test.dart

Issue 1223423002: Use a named param for StreamQueue.cancelImmediately. (Closed) Base URL: git@github.com:dart-lang/async.git@master
Patch Set: Code review changes Created 5 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
« no previous file with comments | « lib/src/stream_queue.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/stream_queue_test.dart
diff --git a/test/stream_queue_test.dart b/test/stream_queue_test.dart
index dae8ed26f7b78bd7ac531c86ea4cd080aca987a4..cad0ad511669f3f29ca9f44e4e639b31f57a35bd 100644
--- a/test/stream_queue_test.dart
+++ b/test/stream_queue_test.dart
@@ -352,59 +352,60 @@ main() {
expect(await events.next, 1);
expect(await events.cancel(), 42);
});
- });
-
- group("cancelImmediately()", () async {
- test("closes the events, prevents any other operation", () async {
- var events = new StreamQueue<int>(createStream());
- await events.cancelImmediately();
- expect(() => events.next, throwsStateError);
- expect(() => events.skip(1), throwsStateError);
- expect(() => events.take(1), throwsStateError);
- expect(() => events.rest, throwsStateError);
- expect(() => events.cancel(), throwsStateError);
- });
-
- test("cancels the underlying subscription immediately", () async {
- var controller = new StreamController();
- controller.add(1);
-
- var events = new StreamQueue<int>(controller.stream);
- expect(await events.next, 1);
- expect(controller.hasListener, isTrue);
-
- events.cancelImmediately();
- await expect(controller.hasListener, isFalse);
- });
-
- test("closes pending requests", () async {
- var events = new StreamQueue<int>(createStream());
- expect(await events.next, 1);
- expect(events.next, throwsStateError);
- expect(events.hasNext, completion(isFalse));
-
- await events.cancelImmediately();
- });
-
- test("returns the result of closing the underlying subscription", () async {
- var controller = new StreamController(
- onCancel: () => new Future.value(42));
- var events = new StreamQueue<int>(controller.stream);
- expect(await events.cancelImmediately(), 42);
- });
- test("listens and then cancels a stream that hasn't been listened to yet",
- () async {
- var wasListened = false;
- var controller = new StreamController(
- onListen: () => wasListened = true);
- var events = new StreamQueue<int>(controller.stream);
- expect(wasListened, isFalse);
- expect(controller.hasListener, isFalse);
-
- await events.cancelImmediately();
- expect(wasListened, isTrue);
- expect(controller.hasListener, isFalse);
+ group("with immediate: true", () async {
+ test("closes the events, prevents any other operation", () async {
+ var events = new StreamQueue<int>(createStream());
+ await events.cancel(immediate: true);
+ expect(() => events.next, throwsStateError);
+ expect(() => events.skip(1), throwsStateError);
+ expect(() => events.take(1), throwsStateError);
+ expect(() => events.rest, throwsStateError);
+ expect(() => events.cancel(), throwsStateError);
+ });
+
+ test("cancels the underlying subscription immediately", () async {
+ var controller = new StreamController();
+ controller.add(1);
+
+ var events = new StreamQueue<int>(controller.stream);
+ expect(await events.next, 1);
+ expect(controller.hasListener, isTrue);
+
+ events.cancel(immediate: true);
+ await expect(controller.hasListener, isFalse);
+ });
+
+ test("closes pending requests", () async {
+ var events = new StreamQueue<int>(createStream());
+ expect(await events.next, 1);
+ expect(events.next, throwsStateError);
+ expect(events.hasNext, completion(isFalse));
+
+ await events.cancel(immediate: true);
+ });
+
+ test("returns the result of closing the underlying subscription",
+ () async {
+ var controller = new StreamController(
+ onCancel: () => new Future.value(42));
+ var events = new StreamQueue<int>(controller.stream);
+ expect(await events.cancel(immediate: true), 42);
+ });
+
+ test("listens and then cancels a stream that hasn't been listened to yet",
+ () async {
+ var wasListened = false;
+ var controller = new StreamController(
+ onListen: () => wasListened = true);
+ var events = new StreamQueue<int>(controller.stream);
+ expect(wasListened, isFalse);
+ expect(controller.hasListener, isFalse);
+
+ await events.cancel(immediate: true);
+ expect(wasListened, isTrue);
+ expect(controller.hasListener, isFalse);
+ });
});
});
« no previous file with comments | « lib/src/stream_queue.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698