| // 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. |
| |
| /// @assertion Stream<List<int>> bind(Stream<List<int>> stream) |
| /// Transforms the provided stream. |
| /// Returns a new stream with events that are computed from events of the |
| /// provided stream. |
| /// @description Checks that the bind method transforms stream's events. |
| /// @author ngl@unipro.ru |
| /// @author a.semenov@unipro.ru |
| /// @issue @30656 |
| |
| import "dart:async"; |
| import "dart:io"; |
| import "../../../Utils/expect.dart"; |
| |
| void check(List<int> data) { |
| ZLibEncoder encoder = new ZLibEncoder(); |
| List<int> encodedData = encoder.convert(data); |
| |
| ZLibDecoder decoder = new ZLibDecoder(); |
| Stream<List<int>> s = new Stream.fromIterable([encodedData]); |
| |
| AsyncExpect.data(data, decoder.bind(s).expand<int>((List<int> e) => e)); |
| } |
| |
| main() { |
| check([]); |
| check([1]); |
| check([1, 2, 3, 4, 5, 6]); |
| check(new List.generate(1000, (int i) => i%256)); |
| } |