summaryrefslogtreecommitdiffstats
path: root/remoting/base/compressor_zlib_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/base/compressor_zlib_unittest.cc')
-rw-r--r--remoting/base/compressor_zlib_unittest.cc34
1 files changed, 23 insertions, 11 deletions
diff --git a/remoting/base/compressor_zlib_unittest.cc b/remoting/base/compressor_zlib_unittest.cc
index 9d65aad..8127350 100644
--- a/remoting/base/compressor_zlib_unittest.cc
+++ b/remoting/base/compressor_zlib_unittest.cc
@@ -21,22 +21,17 @@ static void Compress(remoting::Compressor* compressor,
// Feed data into the compress until the end.
// This loop will rewrite |output_data| continuously.
- while (input_size) {
- int consumed, written;
- compressor->Write(input_data, input_size,
- output_data, output_size,
- &consumed, &written);
+ int consumed = 0;
+ int written = 0;
+ while (compressor->Process(input_data, input_size,
+ output_data, output_size,
+ &consumed, &written)) {
input_data += consumed;
input_size -= consumed;
}
-
- // And then flush the remaining data from the compressor.
- int written;
- while (compressor->Flush(output_data, output_size, &written)) {
- }
}
-TEST(CompressorZlibTest, SimpleCompress) {
+TEST(CompressorZlibTest, Compress) {
static const int kRawDataSize = 1024 * 128;
static const int kCompressedDataSize = 256;
uint8 raw_data[kRawDataSize];
@@ -50,3 +45,20 @@ TEST(CompressorZlibTest, SimpleCompress) {
Compress(&compressor, raw_data, kRawDataSize,
compressed_data, kCompressedDataSize);
}
+
+// Checks that zlib can work with a small output buffer by reading
+// less from the input.
+TEST(CompressorZlibTest, SmallOutputBuffer) {
+ static const int kRawDataSize = 1024 * 128;
+ static const int kCompressedDataSize = 1;
+ uint8 raw_data[kRawDataSize];
+ uint8 compressed_data[kCompressedDataSize];
+
+ // Generate the test data.g
+ GenerateTestData(raw_data, kRawDataSize, 99);
+
+ // Then use the compressor to compress.
+ remoting::CompressorZlib compressor;
+ Compress(&compressor, raw_data, kRawDataSize,
+ compressed_data, kCompressedDataSize);
+}