Chromium Code Reviews| Index: net/filter/brotli_filter_unittest.cc |
| diff --git a/net/filter/brotli_filter_unittest.cc b/net/filter/brotli_filter_unittest.cc |
| index 9c9ce6533842f9b14157f92a3bf05582ba0a7f66..6770914b709b141adb3a57167b37fd0b5c55a92d 100644 |
| --- a/net/filter/brotli_filter_unittest.cc |
| +++ b/net/filter/brotli_filter_unittest.cc |
| @@ -157,6 +157,7 @@ TEST_F(BrotliUnitTest, DecodeBrotli) { |
| // Compare the decoding result with source data |
| EXPECT_EQ(source_len(), decode_size); |
| EXPECT_EQ(memcmp(source_buffer(), decode_buffer, source_len()), 0); |
| + filter_.reset(nullptr); |
|
cbentzel
2016/01/21 10:42:59
Why is this needed? Shouldn't the scoped_ptr be go
eustas
2016/01/21 10:49:14
It is for making destruction an explicit part of t
|
| } |
| // Tests we can call filter repeatedly to get all the data decoded. |
| @@ -168,6 +169,7 @@ TEST_F(BrotliUnitTest, DecodeWithSmallBuffer) { |
| DecodeAndCompareWithFilter(filter_.get(), source_buffer(), source_len(), |
| encoded_buffer(), encoded_len(), |
| kDefaultBufferSize); |
| + filter_.reset(nullptr); |
| } |
| // Tests we can still decode with just 1 byte buffer in the filter. |
| @@ -179,6 +181,7 @@ TEST_F(BrotliUnitTest, DecodeWithOneByteBuffer) { |
| DecodeAndCompareWithFilter(filter_.get(), source_buffer(), source_len(), |
| encoded_buffer(), encoded_len(), |
| kDefaultBufferSize); |
| + filter_.reset(nullptr); |
| } |
| // Tests we can decode when caller has small buffer to read out from filter. |
| @@ -195,6 +198,7 @@ TEST_F(BrotliUnitTest, DecodeWithSmallInputAndOutputBuffer) { |
| InitFilterWithBufferSize(kSmallBufferSize); |
| DecodeAndCompareWithFilter(filter_.get(), source_buffer(), source_len(), |
| encoded_buffer(), encoded_len(), kSmallBufferSize); |
| + filter_.reset(nullptr); |
| } |
| // Tests we can still decode with just 1 byte buffer in the filter and just 1 |
| @@ -204,9 +208,10 @@ TEST_F(BrotliUnitTest, DecodeWithOneByteInputAndOutputBuffer) { |
| EXPECT_EQ(1, filter_->stream_buffer_size()); |
| DecodeAndCompareWithFilter(filter_.get(), source_buffer(), source_len(), |
| encoded_buffer(), encoded_len(), 1); |
| + filter_.reset(nullptr); |
| } |
| -// Decoding deflate stream with corrupted data. |
| +// Decoding brotli stream with corrupted data. |
| TEST_F(BrotliUnitTest, DecodeCorruptedData) { |
| char corrupt_data[kDefaultBufferSize]; |
| int corrupt_data_len = encoded_len(); |
| @@ -215,7 +220,7 @@ TEST_F(BrotliUnitTest, DecodeCorruptedData) { |
| int pos = corrupt_data_len / 2; |
| corrupt_data[pos] = !corrupt_data[pos]; |
| - // Decode the corrupted data with filter |
| + // Decode the corrupted data with filter. |
| InitFilter(); |
| char corrupt_decode_buffer[kDefaultBufferSize]; |
| int corrupt_decode_size = kDefaultBufferSize; |
| @@ -223,11 +228,12 @@ TEST_F(BrotliUnitTest, DecodeCorruptedData) { |
| int code = DecodeAllWithFilter(filter_.get(), corrupt_data, corrupt_data_len, |
| corrupt_decode_buffer, &corrupt_decode_size); |
| - // Expect failures |
| + // Expect failures. |
| EXPECT_EQ(Filter::FILTER_ERROR, code); |
| + filter_.reset(nullptr); |
| } |
| -// Decoding deflate stream with missing data. |
| +// Decoding brotli stream with missing data. |
| TEST_F(BrotliUnitTest, DecodeMissingData) { |
| char corrupt_data[kDefaultBufferSize]; |
| int corrupt_data_len = encoded_len(); |
| @@ -238,7 +244,7 @@ TEST_F(BrotliUnitTest, DecodeMissingData) { |
| memmove(&corrupt_data[pos], &corrupt_data[pos + 1], len); |
| --corrupt_data_len; |
| - // Decode the corrupted data with filter |
| + // Decode the corrupted data with filter. |
| InitFilter(); |
| char corrupt_decode_buffer[kDefaultBufferSize]; |
| int corrupt_decode_size = kDefaultBufferSize; |
| @@ -246,8 +252,26 @@ TEST_F(BrotliUnitTest, DecodeMissingData) { |
| int code = DecodeAllWithFilter(filter_.get(), corrupt_data, corrupt_data_len, |
| corrupt_decode_buffer, &corrupt_decode_size); |
| - // Expect failures |
| + // Expect failures. |
| EXPECT_EQ(Filter::FILTER_ERROR, code); |
| + filter_.reset(nullptr); |
| +} |
| + |
| +// Decoding brotli stream with empty output data. |
| +TEST_F(BrotliUnitTest, DecodeEmptyData) { |
| + char data[1] = {6}; // WBITS = 16, ISLAST = 1, ISLASTEMPTY = 1 |
| + int data_len = 1; |
| + |
| + InitFilter(); |
| + char decode_buffer[kDefaultBufferSize]; |
| + int decode_size = kDefaultBufferSize; |
| + int code = DecodeAllWithFilter(filter_.get(), data, data_len, decode_buffer, |
| + &decode_size); |
| + |
| + // Expect success / empty output. |
| + EXPECT_EQ(Filter::FILTER_DONE, code); |
| + EXPECT_EQ(0, decode_size); |
| + filter_.reset(nullptr); |
| } |
| } // namespace net |