| Index: tests/standalone/io/zlib_test.dart
|
| diff --git a/tests/standalone/io/zlib_test.dart b/tests/standalone/io/zlib_test.dart
|
| index 5b0fc492e0b1777d5fbd896a2b3b300ee8d410a5..5167032b45d37714edb33cb3557f0d71faaa79f0 100644
|
| --- a/tests/standalone/io/zlib_test.dart
|
| +++ b/tests/standalone/io/zlib_test.dart
|
| @@ -8,28 +8,6 @@ import 'dart:io';
|
| import "package:async_helper/async_helper.dart";
|
| import "package:expect/expect.dart";
|
|
|
| -void testZLibDeflate() {
|
| - test(int level, List<int> expected) {
|
| - asyncStart();
|
| - var data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
| - var controller = new StreamController(sync: true);
|
| - controller.stream.transform(new ZLibEncoder(gzip: false, level: level))
|
| - .fold([], (buffer, data) {
|
| - buffer.addAll(data);
|
| - return buffer;
|
| - })
|
| - .then((data) {
|
| - Expect.listEquals(expected, data);
|
| - asyncEnd();
|
| - });
|
| - controller.add(data);
|
| - controller.close();
|
| - }
|
| - test(6, [120, 156, 99, 96, 100, 98, 102, 97, 101, 99, 231, 224, 4, 0, 0, 175,
|
| - 0, 46]);
|
| -}
|
| -
|
| -
|
| void testZLibDeflateEmpty() {
|
| asyncStart();
|
| var controller = new StreamController(sync: true);
|
| @@ -45,6 +23,42 @@ void testZLibDeflateEmpty() {
|
| controller.close();
|
| }
|
|
|
| +void testZLibDeflateEmptyGzip() {
|
| + asyncStart();
|
| + var controller = new StreamController(sync: true);
|
| + controller.stream.transform(new ZLibEncoder(gzip: true, level: 6))
|
| + .fold([], (buffer, data) {
|
| + buffer.addAll(data);
|
| + return buffer;
|
| + })
|
| + .then((data) {
|
| + Expect.listEquals([31, 139, 8, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0,
|
| + 0, 0], data);
|
| + asyncEnd();
|
| + });
|
| + controller.close();
|
| +}
|
| +
|
| +void testZLibDeflate() {
|
| + test(int level, List<int> expected) {
|
| + asyncStart();
|
| + var data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
| + var controller = new StreamController(sync: true);
|
| + controller.stream.transform(new ZLibEncoder(gzip: false, level: level))
|
| + .fold([], (buffer, data) {
|
| + buffer.addAll(data);
|
| + return buffer;
|
| + })
|
| + .then((data) {
|
| + Expect.listEquals(expected, data);
|
| + asyncEnd();
|
| + });
|
| + controller.add(data);
|
| + controller.close();
|
| + }
|
| + test(6, [120, 156, 99, 96, 100, 98, 102, 97, 101, 99, 231, 224, 4, 0, 0, 175,
|
| + 0, 46]);
|
| +}
|
|
|
| void testZLibDeflateGZip() {
|
| asyncStart();
|
| @@ -67,13 +81,31 @@ void testZLibDeflateGZip() {
|
| controller.close();
|
| }
|
|
|
| +void testZLibDeflateRaw() {
|
| + test(int level, List<int> expected) {
|
| + asyncStart();
|
| + var data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
| + var controller = new StreamController(sync: true);
|
| + controller.stream.transform(new ZLibEncoder(raw: true, level: level))
|
| + .fold([], (buffer, data) {
|
| + buffer.addAll(data);
|
| + return buffer;
|
| + })
|
| + .then((data) {
|
| + print(data);
|
| + Expect.listEquals(expected, data);
|
| + asyncEnd();
|
| + });
|
| + controller.add(data);
|
| + controller.close();
|
| + }
|
| + test(6, [99, 96, 100, 98, 102, 97, 101, 99, 231, 224, 4, 0]);
|
| +}
|
| +
|
| void testZLibDeflateInvalidLevel() {
|
| test2(gzip, level) {
|
| - try {
|
| - new ZLibEncoder(gzip: gzip, level: level).startChunkedConversion(null);
|
| - Expect.fail("No exception thrown");
|
| - } catch (e) {
|
| - }
|
| + var encoder = new ZLibEncoder(gzip: gzip, level: level);
|
| + Expect.throws(() => encoder.startChunkedConversion(null));
|
| }
|
| test(level) {
|
| test2(false, level);
|
| @@ -116,6 +148,30 @@ void testZLibInflate() {
|
| }
|
| }
|
|
|
| +void testZLibInflateRaw() {
|
| + test(int level) {
|
| + asyncStart();
|
| + var data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
| + var controller = new StreamController(sync: true);
|
| + controller.stream
|
| + .transform(new ZLibEncoder(raw: true, level: level))
|
| + .transform(new ZLibDecoder(raw: true))
|
| + .fold([], (buffer, data) {
|
| + buffer.addAll(data);
|
| + return buffer;
|
| + })
|
| + .then((inflated) {
|
| + Expect.listEquals(data, inflated);
|
| + asyncEnd();
|
| + });
|
| + controller.add(data);
|
| + controller.close();
|
| + }
|
| + for (int i = -1; i < 10; i++) {
|
| + test(i);
|
| + }
|
| +}
|
| +
|
| void testZLibInflateSync() {
|
| test2(bool gzip, int level) {
|
| var data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
| @@ -132,13 +188,54 @@ void testZLibInflateSync() {
|
| }
|
| }
|
|
|
| +void testZlibInflateThrowsWithSmallerWindow() {
|
| + var data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
| + var encoder = new ZLibEncoder(windowBits: 10);
|
| + var encodedData = encoder.convert(data);
|
| + var decoder = new ZLibDecoder(windowBits: 8);
|
| + Expect.throws(() => decoder.convert(encodedData));
|
| +}
|
| +
|
| +void testZlibInflateWithLargerWindow() {
|
| + test2(bool gzip, int level) {
|
| + asyncStart();
|
| + var data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
| + var controller = new StreamController(sync: true);
|
| + controller.stream
|
| + .transform(new ZLibEncoder(gzip: gzip, level: level, windowBits: 8))
|
| + .transform(new ZLibDecoder(windowBits: 10))
|
| + .fold([], (buffer, data) {
|
| + buffer.addAll(data);
|
| + return buffer;
|
| + })
|
| + .then((inflated) {
|
| + Expect.listEquals(data, inflated);
|
| + asyncEnd();
|
| + });
|
| + controller.add(data);
|
| + controller.close();
|
| + }
|
| + void test(int level) {
|
| + test2(false, level);
|
| + test2(true, level);
|
| + }
|
| + for (int i = -1; i < 10; i++) {
|
| + test(i);
|
| + }
|
| +}
|
| +
|
| void main() {
|
| asyncStart();
|
| testZLibDeflate();
|
| testZLibDeflateEmpty();
|
| + testZLibDeflateEmptyGzip();
|
| testZLibDeflateGZip();
|
| testZLibDeflateInvalidLevel();
|
| testZLibInflate();
|
| testZLibInflateSync();
|
| + testZlibInflateThrowsWithSmallerWindow();
|
| + testZlibInflateWithLargerWindow();
|
| + testZLibDeflateRaw();
|
| + testZLibInflateRaw();
|
| asyncEnd();
|
| }
|
|
|