summaryrefslogtreecommitdiff
path: root/xfa/fxfa/app/xfa_textlayout_unittest.cpp
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-05-19 14:12:30 -0700
committerCommit bot <commit-bot@chromium.org>2016-05-19 14:12:30 -0700
commitc7600f99490f83e544e37feb77d3b9e8428b0f68 (patch)
treef6686e79a31ddc575ecc3ccd3475122670ff0ca4 /xfa/fxfa/app/xfa_textlayout_unittest.cpp
parentf8d8ac4fca2774550f3fbd3a21bbc1e326028c18 (diff)
downloadpdfium-c7600f99490f83e544e37feb77d3b9e8428b0f68.tar.xz
Remove CFX_DSPATemplate usage in CXFA_TextParser
This CL changes the check to use std::binary_search instead of the custom lookup method. The tag validation has been split out to a separate method with unit tests added. Review-Url: https://codereview.chromium.org/1996623002
Diffstat (limited to 'xfa/fxfa/app/xfa_textlayout_unittest.cpp')
-rw-r--r--xfa/fxfa/app/xfa_textlayout_unittest.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/xfa/fxfa/app/xfa_textlayout_unittest.cpp b/xfa/fxfa/app/xfa_textlayout_unittest.cpp
new file mode 100644
index 0000000000..7354631dbb
--- /dev/null
+++ b/xfa/fxfa/app/xfa_textlayout_unittest.cpp
@@ -0,0 +1,40 @@
+// Copyright 2016 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 "xfa/fxfa/app/xfa_textlayout.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+class CXFA_TestTextParser : public CXFA_TextParser {
+ public:
+ CXFA_TestTextParser() : CXFA_TextParser() {}
+
+ private:
+ // Add test cases as friends to access protected member functions.
+ FRIEND_TEST(CXFA_TextParser, TagValidate);
+};
+
+TEST(CXFA_TextParser, TagValidate) {
+ CXFA_TestTextParser parser;
+ EXPECT_TRUE(parser.TagValidate(L"br"));
+ EXPECT_TRUE(parser.TagValidate(L"Br"));
+ EXPECT_TRUE(parser.TagValidate(L"BR"));
+ EXPECT_TRUE(parser.TagValidate(L"a"));
+ EXPECT_TRUE(parser.TagValidate(L"b"));
+ EXPECT_TRUE(parser.TagValidate(L"i"));
+ EXPECT_TRUE(parser.TagValidate(L"p"));
+ EXPECT_TRUE(parser.TagValidate(L"li"));
+ EXPECT_TRUE(parser.TagValidate(L"ol"));
+ EXPECT_TRUE(parser.TagValidate(L"ul"));
+ EXPECT_TRUE(parser.TagValidate(L"sub"));
+ EXPECT_TRUE(parser.TagValidate(L"sup"));
+ EXPECT_TRUE(parser.TagValidate(L"span"));
+ EXPECT_TRUE(parser.TagValidate(L"body"));
+ EXPECT_TRUE(parser.TagValidate(L"html"));
+
+ EXPECT_FALSE(parser.TagValidate(L""));
+ EXPECT_FALSE(parser.TagValidate(L"tml"));
+ EXPECT_FALSE(parser.TagValidate(L"xhtml"));
+ EXPECT_FALSE(parser.TagValidate(L"htmlx"));
+}