• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
TEST(fxcrt,FXSYS_toHexDigit)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 
TEST(fxcrt,FXSYS_toDecimalDigit)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 
TEST(fxcrt,FXSYS_isDecimalDigit)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 
TEST(fxcrt,FX_HashCode_Ascii)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 
TEST(fxcrt,FX_HashCode_Wide)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