xref: /aosp_15_r20/external/pdfium/xfa/fxfa/cxfa_textparser_unittest.cpp (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
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 Worker TEST_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