// 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( 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")); }