| Index: frog/tests/frog/src/NodeZlibTest.dart
|
| ===================================================================
|
| --- frog/tests/frog/src/NodeZlibTest.dart (revision 0)
|
| +++ frog/tests/frog/src/NodeZlibTest.dart (revision 0)
|
| @@ -0,0 +1,117 @@
|
| +// Copyright (c) 2011, 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.
|
| +
|
| +#library('NodeZlibTest');
|
| +
|
| +#import('unittest_node.dart');
|
| +#import('../../../lib/node/node.dart');
|
| +#import('../../../lib/node/zlib.dart');
|
| +
|
| +void compareBuffers(Buffer a, Buffer b) {
|
| + Expect.equals(a.length, b.length);
|
| + for (int i = 0; i < a.length; i++) {
|
| + Expect.equals(a[i], b[i]);
|
| + }
|
| +}
|
| +
|
| +void compareBuffersDone(Buffer a, Buffer b) {
|
| + compareBuffers(a, b);
|
| + callbackDone();
|
| +}
|
| +
|
| +void clearBuffer(Buffer a) {
|
| + for (int i = 0; i < a.length; i++) {
|
| + a[i] = 0;
|
| + }
|
| +}
|
| +
|
| +Buffer createBuffer(int length) {
|
| + Buffer b = new Buffer(length);
|
| + clearBuffer(b);
|
| + return b;
|
| +}
|
| +
|
| +void checkTransformer(Buffer source, Buffer expected,
|
| + ReadWriteStream transformer) {
|
| + transformer.addListenerData((Buffer buf2) =>
|
| + compareBuffersDone(expected, buf2));
|
| + transformer.endBuffer(source);
|
| +}
|
| +
|
| +main() {
|
| + asyncTest('Deflate', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.deflateBuffer(a, (err, Buffer buf1) =>
|
| + checkTransformer(a, buf1, zlib.createDeflate()));
|
| + });
|
| +
|
| + asyncTest('DeflateRaw', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.deflateRawBuffer(a, (err, Buffer buf1) =>
|
| + checkTransformer(a, buf1, zlib.createDeflateRaw()));
|
| + });
|
| +
|
| + asyncTest('Gzip', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.gzipBuffer(a, (err, Buffer buf1) =>
|
| + checkTransformer(a, buf1, zlib.createGzip()));
|
| + });
|
| +
|
| + asyncTest('Inflate', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.deflateBuffer(a, (err, Buffer buf1) =>
|
| + zlib.inflateBuffer(buf1, (err, Buffer buf2) =>
|
| + compareBuffersDone(a, buf2)));
|
| + });
|
| +
|
| + asyncTest('InflateRaw', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.deflateRawBuffer(a, (err, Buffer buf1) =>
|
| + zlib.inflateRawBuffer(buf1, (err, Buffer buf2) =>
|
| + compareBuffersDone(a, buf2)));
|
| + });
|
| +
|
| + asyncTest('Gunzip', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.gzipBuffer(a, (err, Buffer buf1) =>
|
| + zlib.gunzipBuffer(buf1, (err, Buffer buf2) =>
|
| + compareBuffersDone(a, buf2)));
|
| + });
|
| +
|
| + asyncTest('Unzip', 2, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.gzipBuffer(a, (err, Buffer buf1) =>
|
| + zlib.unzipBuffer(buf1, (err, Buffer buf2) =>
|
| + compareBuffersDone(a, buf2)));
|
| + zlib.deflateBuffer(a, (err, Buffer buf1) =>
|
| + zlib.unzipBuffer(buf1, (err, Buffer buf2) =>
|
| + compareBuffersDone(a, buf2)));
|
| + });
|
| +
|
| + asyncTest('Inflate Stream', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.deflateBuffer(a, (err, Buffer buf1) =>
|
| + checkTransformer(buf1, a, zlib.createInflate()));
|
| + });
|
| +
|
| + asyncTest('InflateRaw Stream', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.deflateRawBuffer(a, (err, Buffer buf1) =>
|
| + checkTransformer(buf1, a, zlib.createInflateRaw()));
|
| + });
|
| +
|
| + asyncTest('Gunzip Stream', 1, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.gzipBuffer(a, (err, Buffer buf1) =>
|
| + checkTransformer(buf1, a, zlib.createGunzip()));
|
| + });
|
| +
|
| + asyncTest('Unzip Stream', 2, () {
|
| + Buffer a = createBuffer(100);
|
| + zlib.gzipBuffer(a, (err, Buffer buf1) =>
|
| + checkTransformer(buf1, a, zlib.createUnzip()));
|
| + zlib.deflateBuffer(a, (err, Buffer buf1) =>
|
| + checkTransformer(buf1, a, zlib.createUnzip()));
|
| + });
|
| +}
|
|
|