blob: a61f441ea43bb95121241b3b794a547febabb1a2 [file] [log] [blame]
// 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"));
}