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

Side by Side 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, 4 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
OLDNEW
(Empty)
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
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.
4
5 import "dart:async";
6
7 import "package:test/test.dart";
8 import "package:async/async.dart";
9
10 void main() {
11 group("collectBytes", () {
12 test("simple list and overflow", () {
13 var result = collectBytes(new Stream.fromIterable([
14 [0],
15 [1],
16 [2],
17 [256]
18 ]));
19 expect(result, completion([0, 1, 2, 0]));
20 });
21
22 test("no events", () {
23 var result = collectBytes(new Stream.fromIterable([]));
24 expect(result, completion([]));
25 });
26
27 test("empty events", () {
28 var result = collectBytes(new Stream.fromIterable([[], []]));
29 expect(result, completion([]));
30 });
31
32 test("error event", () {
33 var result = collectBytes(new Stream.fromIterable(
34 new Iterable.generate(3, (n) => n == 2 ? throw "badness" : [n])));
35 expect(result, throwsA("badness"));
36 });
37 });
38
39 group("collectBytes", () {
40 test("simple list and overflow", () {
41 var result = collectBytesCancelable(new Stream.fromIterable([
42 [0],
43 [1],
44 [2],
45 [256]
46 ]));
47 expect(result.value, completion([0, 1, 2, 0]));
48 });
49
50 test("no events", () {
51 var result = collectBytesCancelable(new Stream.fromIterable([]));
52 expect(result.value, completion([]));
53 });
54
55 test("empty events", () {
56 var result = collectBytesCancelable(new Stream.fromIterable([[], []]));
57 expect(result.value, completion([]));
58 });
59
60 test("error event", () {
61 var result = collectBytesCancelable(new Stream.fromIterable(
62 new Iterable.generate(3, (n) => n == 2 ? throw "badness" : [n])));
63 expect(result.value, throwsA("badness"));
64 });
65
66 test("cancelled", () async {
67 var sc = new StreamController<List<int>>();
68 var result = collectBytesCancelable(sc.stream);
69 // Value never completes.
70 result.value.whenComplete(expectAsync0(() {}, count: 0));
71
72 expect(sc.hasListener, isTrue);
73 sc.add([1, 2]);
74 await nextTimerTick();
75 expect(sc.hasListener, isTrue);
76 sc.add([3, 4]);
77 await nextTimerTick();
78 expect(sc.hasListener, isTrue);
79 result.cancel();
80 expect(sc.hasListener, isFalse); // Cancelled immediately.
81 var replacement = await result.valueOrCancellation();
82 expect(replacement, isNull);
83 await nextTimerTick();
84 sc.close();
85 await nextTimerTick();
86 });
87 });
88 }
89
90 Future nextTimerTick() => new Future(() {});
OLDNEW
« 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