Home | History | Annotate | Download | only in fxcrt
      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