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

Unified Diff: packages/async/test/byte_collection_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
« no previous file with comments | « packages/async/test/async_memoizer_test.dart ('k') | packages/async/test/cancelable_operation_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: packages/async/test/byte_collection_test.dart
diff --git a/packages/async/test/byte_collection_test.dart b/packages/async/test/byte_collection_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..b87b074131290d943b4d20515b6843253a5c9fd9
--- /dev/null
+++ b/packages/async/test/byte_collection_test.dart
@@ -0,0 +1,90 @@
+// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "dart:async";
+
+import "package:test/test.dart";
+import "package:async/async.dart";
+
+void main() {
+ group("collectBytes", () {
+ test("simple list and overflow", () {
+ var result = collectBytes(new Stream.fromIterable([
+ [0],
+ [1],
+ [2],
+ [256]
+ ]));
+ expect(result, completion([0, 1, 2, 0]));
+ });
+
+ test("no events", () {
+ var result = collectBytes(new Stream.fromIterable([]));
+ expect(result, completion([]));
+ });
+
+ test("empty events", () {
+ var result = collectBytes(new Stream.fromIterable([[], []]));
+ expect(result, completion([]));
+ });
+
+ test("error event", () {
+ var result = collectBytes(new Stream.fromIterable(
+ new Iterable.generate(3, (n) => n == 2 ? throw "badness" : [n])));
+ expect(result, throwsA("badness"));
+ });
+ });
+
+ group("collectBytes", () {
+ test("simple list and overflow", () {
+ var result = collectBytesCancelable(new Stream.fromIterable([
+ [0],
+ [1],
+ [2],
+ [256]
+ ]));
+ expect(result.value, completion([0, 1, 2, 0]));
+ });
+
+ test("no events", () {
+ var result = collectBytesCancelable(new Stream.fromIterable([]));
+ expect(result.value, completion([]));
+ });
+
+ test("empty events", () {
+ var result = collectBytesCancelable(new Stream.fromIterable([[], []]));
+ expect(result.value, completion([]));
+ });
+
+ test("error event", () {
+ var result = collectBytesCancelable(new Stream.fromIterable(
+ new Iterable.generate(3, (n) => n == 2 ? throw "badness" : [n])));
+ expect(result.value, throwsA("badness"));
+ });
+
+ test("cancelled", () async {
+ var sc = new StreamController<List<int>>();
+ var result = collectBytesCancelable(sc.stream);
+ // Value never completes.
+ result.value.whenComplete(expectAsync0(() {}, count: 0));
+
+ expect(sc.hasListener, isTrue);
+ sc.add([1, 2]);
+ await nextTimerTick();
+ expect(sc.hasListener, isTrue);
+ sc.add([3, 4]);
+ await nextTimerTick();
+ expect(sc.hasListener, isTrue);
+ result.cancel();
+ expect(sc.hasListener, isFalse); // Cancelled immediately.
+ var replacement = await result.valueOrCancellation();
+ expect(replacement, isNull);
+ await nextTimerTick();
+ sc.close();
+ await nextTimerTick();
+ });
+ });
+}
+
+Future nextTimerTick() => new Future(() {});
« no previous file with comments | « packages/async/test/async_memoizer_test.dart ('k') | packages/async/test/cancelable_operation_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698