summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2015-11-02 13:34:21 -0500
committerDan Sinclair <dsinclair@chromium.org>2015-11-02 13:34:21 -0500
commit15a05705c546c64014b082bcd1d110dad1b94b72 (patch)
tree37c548943f19e4de99cb31fb5bb32a5f9ad39df7 /core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp
parent3343d146f2d9cd2f9eaa3a40fed3a5b94f3f107e (diff)
downloadpdfium-15a05705c546c64014b082bcd1d110dad1b94b72.tar.xz
Merge to XFA: Add test for StringToCode and StringToWideString
This CL adds a test case for the StringToCode and StringToWideString methods in fpdf_font.cpp. In order to do so, it moves the methods to be private methods of CPDF_ToUnicodeMap and make the tests friends of the class. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1428593005 . (cherry picked from commit 52b0b525dca3d982a04b77fa6d0913aff1e5fd9c) Review URL: https://codereview.chromium.org/1425233004 .
Diffstat (limited to 'core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp')
-rw-r--r--core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp
new file mode 100644
index 0000000000..9cc529c3df
--- /dev/null
+++ b/core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp
@@ -0,0 +1,31 @@
+// Copyright 2015 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+#include "font_int.h"
+
+TEST(fpdf_font, StringToCode) {
+ EXPECT_EQ(0, CPDF_ToUnicodeMap::StringToCode(""));
+ EXPECT_EQ(194, CPDF_ToUnicodeMap::StringToCode("<c2"));
+ EXPECT_EQ(162, CPDF_ToUnicodeMap::StringToCode("<A2"));
+ EXPECT_EQ(2802, CPDF_ToUnicodeMap::StringToCode("<Af2"));
+ EXPECT_EQ(12, CPDF_ToUnicodeMap::StringToCode("12"));
+ EXPECT_EQ(128, CPDF_ToUnicodeMap::StringToCode("128"));
+}
+
+TEST(fpdf_font, StringToWideString) {
+ EXPECT_EQ(L"", CPDF_ToUnicodeMap::StringToWideString(""));
+ EXPECT_EQ(L"", CPDF_ToUnicodeMap::StringToWideString("1234"));
+
+ EXPECT_EQ(L"", CPDF_ToUnicodeMap::StringToWideString("<c2"));
+
+ CFX_WideString res = L"\xc2ab";
+ EXPECT_EQ(res, CPDF_ToUnicodeMap::StringToWideString("<c2ab"));
+ EXPECT_EQ(res, CPDF_ToUnicodeMap::StringToWideString("<c2abab"));
+ EXPECT_EQ(res, CPDF_ToUnicodeMap::StringToWideString("<c2ab 1234"));
+
+ res += L"\xfaab";
+ EXPECT_EQ(res, CPDF_ToUnicodeMap::StringToWideString("<c2abFaAb"));
+}