OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 import 'dart:convert'; | 6 import 'dart:convert'; |
7 | 7 |
8 import 'package:async/async.dart'; | 8 import 'package:async/async.dart'; |
9 import 'package:stream_channel/stream_channel.dart'; | 9 import 'package:stream_channel/stream_channel.dart'; |
10 import 'package:test/test.dart'; | 10 import 'package:test/test.dart'; |
(...skipping 23 matching lines...) Expand all Loading... |
34 streamController.close(); | 34 streamController.close(); |
35 expect(otherSinkController.stream.toList(), completion(equals([1, 2, 3]))); | 35 expect(otherSinkController.stream.toList(), completion(equals([1, 2, 3]))); |
36 | 36 |
37 otherStreamController.add(4); | 37 otherStreamController.add(4); |
38 otherStreamController.add(5); | 38 otherStreamController.add(5); |
39 otherStreamController.add(6); | 39 otherStreamController.add(6); |
40 otherStreamController.close(); | 40 otherStreamController.close(); |
41 expect(sinkController.stream.toList(), completion(equals([4, 5, 6]))); | 41 expect(sinkController.stream.toList(), completion(equals([4, 5, 6]))); |
42 }); | 42 }); |
43 | 43 |
44 test("transform() transforms the channel", () { | 44 test("transform() transforms the channel", () async { |
45 var transformed = channel.transform( | 45 var transformed = channel.transform( |
46 new StreamChannelTransformer.fromCodec(UTF8)); | 46 new StreamChannelTransformer.fromCodec(UTF8)); |
47 | 47 |
48 streamController.add([102, 111, 111, 98, 97, 114]); | 48 streamController.add([102, 111, 111, 98, 97, 114]); |
49 streamController.close(); | 49 streamController.close(); |
50 expect(transformed.stream.toList(), completion(equals(["foobar"]))); | 50 expect(await transformed.stream.toList(), equals(["foobar"])); |
51 | 51 |
52 transformed.sink.add("fblthp"); | 52 transformed.sink.add("fblthp"); |
53 transformed.sink.close(); | 53 transformed.sink.close(); |
54 expect(sinkController.stream.toList(), | 54 expect(sinkController.stream.toList(), |
55 completion(equals([[102, 98, 108, 116, 104, 112]]))); | 55 completion(equals([[102, 98, 108, 116, 104, 112]]))); |
56 }); | 56 }); |
57 | 57 |
58 test("transformStream() transforms only the stream", () { | 58 test("transformStream() transforms only the stream", () async { |
59 var transformed = channel.transformStream(UTF8.decoder); | 59 var transformed = channel.transformStream(UTF8.decoder); |
60 | 60 |
61 streamController.add([102, 111, 111, 98, 97, 114]); | 61 streamController.add([102, 111, 111, 98, 97, 114]); |
62 streamController.close(); | 62 streamController.close(); |
63 expect(transformed.stream.toList(), completion(equals(["foobar"]))); | 63 expect(await transformed.stream.toList(), equals(["foobar"])); |
64 | 64 |
65 transformed.sink.add("fblthp"); | 65 transformed.sink.add("fblthp"); |
66 transformed.sink.close(); | 66 transformed.sink.close(); |
67 expect(sinkController.stream.toList(), | 67 expect(sinkController.stream.toList(), |
68 completion(equals(["fblthp"]))); | 68 completion(equals(["fblthp"]))); |
69 }); | 69 }); |
70 | 70 |
71 test("transformSink() transforms only the sink", () { | 71 test("transformSink() transforms only the sink", () async { |
72 var transformed = channel.transformSink( | 72 var transformed = channel.transformSink( |
73 new StreamSinkTransformer.fromStreamTransformer(UTF8.encoder)); | 73 new StreamSinkTransformer.fromStreamTransformer(UTF8.encoder)); |
74 | 74 |
75 streamController.add([102, 111, 111, 98, 97, 114]); | 75 streamController.add([102, 111, 111, 98, 97, 114]); |
76 streamController.close(); | 76 streamController.close(); |
77 expect(transformed.stream.toList(), | 77 expect(await transformed.stream.toList(), |
78 completion(equals([[102, 111, 111, 98, 97, 114]]))); | 78 equals([[102, 111, 111, 98, 97, 114]])); |
79 | 79 |
80 transformed.sink.add("fblthp"); | 80 transformed.sink.add("fblthp"); |
81 transformed.sink.close(); | 81 transformed.sink.close(); |
82 expect(sinkController.stream.toList(), | 82 expect(sinkController.stream.toList(), |
83 completion(equals([[102, 98, 108, 116, 104, 112]]))); | 83 completion(equals([[102, 98, 108, 116, 104, 112]]))); |
84 }); | 84 }); |
85 | 85 |
86 test("changeStream() changes the stream", () { | 86 test("changeStream() changes the stream", () { |
87 var newController = new StreamController(); | 87 var newController = new StreamController(); |
88 var changed = channel.changeStream((stream) { | 88 var changed = channel.changeStream((stream) { |
(...skipping 17 matching lines...) Expand all Loading... |
106 return newController.sink; | 106 return newController.sink; |
107 }); | 107 }); |
108 | 108 |
109 expect(newController.stream.toList(), completion(equals([10]))); | 109 expect(newController.stream.toList(), completion(equals([10]))); |
110 streamController.stream.listen(expectAsync((_) {}, count: 0)); | 110 streamController.stream.listen(expectAsync((_) {}, count: 0)); |
111 | 111 |
112 changed.sink.add(10); | 112 changed.sink.add(10); |
113 changed.sink.close(); | 113 changed.sink.close(); |
114 }); | 114 }); |
115 } | 115 } |
OLD | NEW |