1 // Copyright 2015 PDFium 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 "testing/gtest/include/gtest/gtest.h" 6 7 #include "core/fxcrt/fx_ext.h" 8 9 TEST(fxcrt, FXSYS_toHexDigit) { 10 EXPECT_EQ(10, FXSYS_toHexDigit('a')); 11 EXPECT_EQ(10, FXSYS_toHexDigit('A')); 12 EXPECT_EQ(7, FXSYS_toHexDigit('7')); 13 EXPECT_EQ(0, FXSYS_toHexDigit('i')); 14 } 15 16 TEST(fxcrt, FXSYS_toDecimalDigit) { 17 EXPECT_EQ(7, FXSYS_toDecimalDigit('7')); 18 EXPECT_EQ(0, FXSYS_toDecimalDigit('a')); 19 EXPECT_EQ(7, FXSYS_toDecimalDigit(L'7')); 20 EXPECT_EQ(0, FXSYS_toDecimalDigit(L'a')); 21 } 22 23 TEST(fxcrt, FXSYS_isDecimalDigit) { 24 EXPECT_TRUE(FXSYS_isDecimalDigit('7')); 25 EXPECT_TRUE(FXSYS_isDecimalDigit(L'7')); 26 EXPECT_FALSE(FXSYS_isDecimalDigit('a')); 27 EXPECT_FALSE(FXSYS_isDecimalDigit(L'a')); 28 } 29 30 TEST(fxcrt, FX_HashCode_Ascii) { 31 EXPECT_EQ(0u, FX_HashCode_GetA("", false)); 32 EXPECT_EQ(65u, FX_HashCode_GetA("A", false)); 33 EXPECT_EQ(97u, FX_HashCode_GetA("A", true)); 34 EXPECT_EQ(31 * 65u + 66u, FX_HashCode_GetA("AB", false)); 35 } 36 37 TEST(fxcrt, FX_HashCode_Wide) { 38 EXPECT_EQ(0u, FX_HashCode_GetW(L"", false)); 39 EXPECT_EQ(65u, FX_HashCode_GetW(L"A", false)); 40 EXPECT_EQ(97u, FX_HashCode_GetW(L"A", true)); 41 EXPECT_EQ(1313 * 65u + 66u, FX_HashCode_GetW(L"AB", false)); 42 } 43