xref: /aosp_15_r20/external/zucchini/image_utils_unittest.cc (revision a03ca8b91e029cd15055c20c78c2e087c84792e4)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "components/zucchini/image_utils.h"
6 
7 #include "testing/gtest/include/gtest/gtest.h"
8 
9 namespace zucchini {
10 
TEST(ImageUtilsTest,Bitness)11 TEST(ImageUtilsTest, Bitness) {
12   EXPECT_EQ(4U, WidthOf(kBit32));
13   EXPECT_EQ(8U, WidthOf(kBit64));
14 }
15 
TEST(ImageUtilsTest,CastExecutableTypeToString)16 TEST(ImageUtilsTest, CastExecutableTypeToString) {
17   EXPECT_EQ("NoOp", CastExecutableTypeToString(kExeTypeNoOp));
18   EXPECT_EQ("Px86", CastExecutableTypeToString(kExeTypeWin32X86));
19   EXPECT_EQ("EA64", CastExecutableTypeToString(kExeTypeElfAArch64));
20   EXPECT_EQ("DEX ", CastExecutableTypeToString(kExeTypeDex));
21 }
22 
TEST(ImageUtilsTest,ElementMatchToString)23 TEST(ImageUtilsTest, ElementMatchToString) {
24   constexpr ExecutableType kAnyType = kExeTypeWin32X86;
25   EXPECT_EQ("1+2=3+4",
26             (ElementMatch{{{1, 2}, kAnyType}, {{3, 4}, kAnyType}}).ToString());
27   EXPECT_EQ(
28       "1000000000+1=0+1000000000",
29       (ElementMatch{{{1000000000, 1}, kAnyType}, {{0, 1000000000}, kAnyType}})
30           .ToString());
31 }
32 
33 }  // namespace zucchini
34