| // Copyright 2016 The PDFium Authors |
| // 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" |
| #include "v8/include/cppgc/heap.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")); |
| } |