diff --git a/.gitignore b/.gitignore index 25a1df3..1447012 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .buildlog +.dart_tool/ .DS_Store .idea .pub/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 4813e9a..a2404d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.6.6 + +* Fix a Dart2 issue with inner stream transformation in `GuaranteeChannel`. + ## 1.6.5 * Fix an issue with `JsonDocumentTransformer.bind` where it created an internal diff --git a/lib/src/guarantee_channel.dart b/lib/src/guarantee_channel.dart index f18cbb9..ba79ed9 100644 --- a/lib/src/guarantee_channel.dart +++ b/lib/src/guarantee_channel.dart @@ -39,7 +39,7 @@ class GuaranteeChannel extends StreamChannelMixin { // to single-subscription. if (innerStream.isBroadcast) { innerStream = - innerStream.transform(const SingleSubscriptionTransformer()); + innerStream.transform(new SingleSubscriptionTransformer()); } _streamController = new StreamController( diff --git a/pubspec.yaml b/pubspec.yaml index 9221866..c121f5f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: stream_channel -version: 1.6.5 +version: 1.6.6 description: An abstraction for two-way communication channels. author: Dart Team homepage: https://github.com/dart-lang/stream_channel diff --git a/test/json_document_transformer_test.dart b/test/json_document_transformer_test.dart index 22bb830..b55a118 100644 --- a/test/json_document_transformer_test.dart +++ b/test/json_document_transformer_test.dart @@ -13,8 +13,8 @@ void main() { var sinkController; StreamChannel channel; setUp(() { - streamController = new StreamController(); - sinkController = new StreamController(); + streamController = new StreamController(); + sinkController = new StreamController(); channel = new StreamChannel(streamController.stream, sinkController.sink); }); diff --git a/test/stream_channel_test.dart b/test/stream_channel_test.dart index b8ebcbd..c29002f 100644 --- a/test/stream_channel_test.dart +++ b/test/stream_channel_test.dart @@ -10,9 +10,9 @@ import 'package:stream_channel/stream_channel.dart'; import 'package:test/test.dart'; void main() { - var streamController; - var sinkController; - var channel; + StreamController streamController; + StreamController sinkController; + StreamChannel channel; setUp(() { streamController = new StreamController(); sinkController = new StreamController(); @@ -58,36 +58,35 @@ void main() { }); test("transformStream() transforms only the stream", () async { - var transformed = channel.transformStream(UTF8.decoder); + var transformed = + channel.cast().transformStream(const LineSplitter()); - streamController.add([102, 111, 111, 98, 97, 114]); + streamController.add("hello world"); + streamController.add(" what\nis"); + streamController.add("\nup"); streamController.close(); - expect(await transformed.stream.toList(), equals(["foobar"])); + expect(await transformed.stream.toList(), + equals(["hello world what", "is", "up"])); - transformed.sink.add("fblthp"); + transformed.sink.add("fbl\nthp"); transformed.sink.close(); - expect(sinkController.stream.toList(), completion(equals(["fblthp"]))); + expect(sinkController.stream.toList(), completion(equals(["fbl\nthp"]))); }); test("transformSink() transforms only the sink", () async { - var transformed = channel.transformSink( - new StreamSinkTransformer.fromStreamTransformer(UTF8.encoder)); + var transformed = channel.cast().transformSink( + new StreamSinkTransformer.fromStreamTransformer(const LineSplitter())); - streamController.add([102, 111, 111, 98, 97, 114]); + streamController.add("fbl\nthp"); streamController.close(); - expect( - await transformed.stream.toList(), - equals([ - [102, 111, 111, 98, 97, 114] - ])); + expect(await transformed.stream.toList(), equals(["fbl\nthp"])); - transformed.sink.add("fblthp"); + transformed.sink.add("hello world"); + transformed.sink.add(" what\nis"); + transformed.sink.add("\nup"); transformed.sink.close(); - expect( - sinkController.stream.toList(), - completion(equals([ - [102, 98, 108, 116, 104, 112] - ]))); + expect(sinkController.stream.toList(), + completion(equals(["hello world what", "is", "up"]))); }); test("changeStream() changes the stream", () {