| // 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/cxfa_textparser.h" | |
| #include "fxjs/gc/heap.h" | |
| #include "testing/fxgc_unittest.h" | |
| #include "testing/gtest/include/gtest/gtest.h" | |
| class CXFA_TestTextParser final : public CXFA_TextParser { | |
| public: | |
| CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED; | |
| private: | |
| CXFA_TestTextParser() = default; | |
| // Add test cases as friends to access protected member functions. | |
| FRIEND_TEST(CXFATextParserTest, TagValidate); | |
| }; | |
| class CXFATextParserTest : public FXGCUnitTest {}; | |
| TEST_F(CXFATextParserTest, TagValidate) { | |
| auto* parser = cppgc::MakeGarbageCollected<CXFA_TestTextParser>( | |
| heap()->GetAllocationHandle()); | |
| 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")); | |
| } |