| // 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 int windowBits |
| /// final |
| /// Base two logarithm of the window size (the size of the history buffer). It |
| /// should be in the range 8..15. Larger values result in better compression at |
| /// the expense of memory usage. The default value is 15 |
| /// @description Checks that this property returns constructor's windowBits |
| /// argument and data, compressed with different windowBits has different size |
| /// @author sgrekhov@unipro.ru |
| |
| import "dart:io"; |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| GZipCodec codec1 = new GZipCodec(); |
| Expect.equals(15, codec1.windowBits); |
| |
| GZipCodec codec2 = new GZipCodec(windowBits: 8); |
| Expect.equals(8, codec2.windowBits); |
| |
| int max = 1000; |
| List<int> data = new List<int>.filled(max, 0); |
| for (int i = 0; i < max; i++) { |
| data[i] = i % 256; |
| } |
| |
| var encoded1 = codec1.encode(data); |
| var encoded2 = codec2.encode(data); |
| Expect.isTrue(encoded2.length > encoded1.length); |
| } |