49 lines
1.6 KiB
C++
49 lines
1.6 KiB
C++
// 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"));
|
|
}
|