1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2016 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fxfa/cxfa_textparser.h" 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/gc/heap.h" 8*3ac0a46fSAndroid Build Coastguard Worker #include "testing/fxgc_unittest.h" 9*3ac0a46fSAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h" 10*3ac0a46fSAndroid Build Coastguard Worker #include "v8/include/cppgc/heap.h" 11*3ac0a46fSAndroid Build Coastguard Worker 12*3ac0a46fSAndroid Build Coastguard Worker class CXFA_TestTextParser final : public CXFA_TextParser { 13*3ac0a46fSAndroid Build Coastguard Worker public: 14*3ac0a46fSAndroid Build Coastguard Worker CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED; 15*3ac0a46fSAndroid Build Coastguard Worker 16*3ac0a46fSAndroid Build Coastguard Worker private: 17*3ac0a46fSAndroid Build Coastguard Worker CXFA_TestTextParser() = default; 18*3ac0a46fSAndroid Build Coastguard Worker 19*3ac0a46fSAndroid Build Coastguard Worker // Add test cases as friends to access protected member functions. 20*3ac0a46fSAndroid Build Coastguard Worker FRIEND_TEST(CXFATextParserTest, TagValidate); 21*3ac0a46fSAndroid Build Coastguard Worker }; 22*3ac0a46fSAndroid Build Coastguard Worker 23*3ac0a46fSAndroid Build Coastguard Worker class CXFATextParserTest : public FXGCUnitTest {}; 24*3ac0a46fSAndroid Build Coastguard Worker TEST_F(CXFATextParserTest,TagValidate)25*3ac0a46fSAndroid Build Coastguard WorkerTEST_F(CXFATextParserTest, TagValidate) { 26*3ac0a46fSAndroid Build Coastguard Worker auto* parser = cppgc::MakeGarbageCollected<CXFA_TestTextParser>( 27*3ac0a46fSAndroid Build Coastguard Worker heap()->GetAllocationHandle()); 28*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"br")); 29*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"Br")); 30*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"BR")); 31*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"a")); 32*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"b")); 33*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"i")); 34*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"p")); 35*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"li")); 36*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"ol")); 37*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"ul")); 38*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"sub")); 39*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"sup")); 40*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"span")); 41*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"body")); 42*3ac0a46fSAndroid Build Coastguard Worker EXPECT_TRUE(parser->TagValidate(L"html")); 43*3ac0a46fSAndroid Build Coastguard Worker 44*3ac0a46fSAndroid Build Coastguard Worker EXPECT_FALSE(parser->TagValidate(L"")); 45*3ac0a46fSAndroid Build Coastguard Worker EXPECT_FALSE(parser->TagValidate(L"tml")); 46*3ac0a46fSAndroid Build Coastguard Worker EXPECT_FALSE(parser->TagValidate(L"xhtml")); 47*3ac0a46fSAndroid Build Coastguard Worker EXPECT_FALSE(parser->TagValidate(L"htmlx")); 48*3ac0a46fSAndroid Build Coastguard Worker } 49