xref: /aosp_15_r20/external/puffin/src/brotli_util_unittest.cc (revision 07fb1d065b7cfb4729786fadd42a612532d2f466)
1*07fb1d06SElliott Hughes // Copyright 2021 The ChromiumOS Authors
2*07fb1d06SElliott Hughes // Use of this source code is governed by a BSD-style license that can be
3*07fb1d06SElliott Hughes // found in the LICENSE file.
4*07fb1d06SElliott Hughes 
5*07fb1d06SElliott Hughes #include "gtest/gtest.h"
6*07fb1d06SElliott Hughes 
7*07fb1d06SElliott Hughes #include "puffin/memory_stream.h"
8*07fb1d06SElliott Hughes #include "puffin/src/include/puffin/brotli_util.h"
9*07fb1d06SElliott Hughes #include "puffin/src/puffin_stream.h"
10*07fb1d06SElliott Hughes 
11*07fb1d06SElliott Hughes namespace puffin {
12*07fb1d06SElliott Hughes 
13*07fb1d06SElliott Hughes namespace {
14*07fb1d06SElliott Hughes 
15*07fb1d06SElliott Hughes // echo "puffin test" | xxd -i
16*07fb1d06SElliott Hughes const Buffer kTestString = {0x70, 0x75, 0x66, 0x66, 0x69, 0x6e,
17*07fb1d06SElliott Hughes                             0x20, 0x74, 0x65, 0x73, 0x74, 0x0a};
18*07fb1d06SElliott Hughes }  // namespace
19*07fb1d06SElliott Hughes 
TEST(BrotliUtilTest,CompressAndDecompressTest)20*07fb1d06SElliott Hughes TEST(BrotliUtilTest, CompressAndDecompressTest) {
21*07fb1d06SElliott Hughes   Buffer compressed;
22*07fb1d06SElliott Hughes   ASSERT_TRUE(BrotliEncode(kTestString.data(), kTestString.size(),
23*07fb1d06SElliott Hughes                            MemoryStream::CreateForWrite(&compressed)));
24*07fb1d06SElliott Hughes   ASSERT_FALSE(compressed.empty());
25*07fb1d06SElliott Hughes 
26*07fb1d06SElliott Hughes   Buffer decompressed;
27*07fb1d06SElliott Hughes   ASSERT_TRUE(BrotliDecode(compressed.data(), compressed.size(),
28*07fb1d06SElliott Hughes                            MemoryStream::CreateForWrite(&decompressed)));
29*07fb1d06SElliott Hughes   ASSERT_EQ(kTestString, decompressed);
30*07fb1d06SElliott Hughes }
31*07fb1d06SElliott Hughes 
32*07fb1d06SElliott Hughes }  // namespace puffin
33