summaryrefslogtreecommitdiff
path: root/core/fxcrt/fx_extension_unittest.cpp
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-04-25 11:23:43 -0700
committerCommit bot <commit-bot@chromium.org>2016-04-25 11:23:43 -0700
commitb6853cfe4fd1ee089dfdd0cb09bbc4063532ef82 (patch)
tree1404031e845c8b4b09d5a68fd81f09a7d2865d59 /core/fxcrt/fx_extension_unittest.cpp
parent2a8a20cde4c8e2294f6868bb097fe450960a709f (diff)
downloadpdfium-b6853cfe4fd1ee089dfdd0cb09bbc4063532ef82.tar.xz
Pass CFX_*StringCs to FX_HashCode_GETA and _GETW hash functions.
Too many calls were of the form fn(x.c_str(), x.GetLength()) which is an anti-pattern given the StringC classes which tie these together. There are a few places where explicit CFX_*StringCs are constructed, but this can be avoided by changing the args to these functions in the same manner. Removed String_ from name of functions since it added little value. Also removed default argument. Review URL: https://codereview.chromium.org/1919563002
Diffstat (limited to 'core/fxcrt/fx_extension_unittest.cpp')
-rw-r--r--core/fxcrt/fx_extension_unittest.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/fxcrt/fx_extension_unittest.cpp b/core/fxcrt/fx_extension_unittest.cpp
index 7714999bbf..954e0956ed 100644
--- a/core/fxcrt/fx_extension_unittest.cpp
+++ b/core/fxcrt/fx_extension_unittest.cpp
@@ -26,3 +26,17 @@ TEST(fxcrt, FXSYS_isDecimalDigit) {
EXPECT_FALSE(FXSYS_isDecimalDigit('a'));
EXPECT_FALSE(FXSYS_isDecimalDigit(L'a'));
}
+
+TEST(fxcrt, FX_HashCode_Ascii) {
+ EXPECT_EQ(0u, FX_HashCode_GetA("", false));
+ EXPECT_EQ(65u, FX_HashCode_GetA("A", false));
+ EXPECT_EQ(97u, FX_HashCode_GetA("A", true));
+ EXPECT_EQ(31 * 65u + 66u, FX_HashCode_GetA("AB", false));
+}
+
+TEST(fxcrt, FX_HashCode_Wide) {
+ EXPECT_EQ(0u, FX_HashCode_GetW(L"", false));
+ EXPECT_EQ(65u, FX_HashCode_GetW(L"A", false));
+ EXPECT_EQ(97u, FX_HashCode_GetW(L"A", true));
+ EXPECT_EQ(1313 * 65u + 66u, FX_HashCode_GetW(L"AB", false));
+}