// Copyright 2018 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 "core/fxcrt/xml/cfx_xmltext.h" #include "core/fxcrt/xml/cfx_xmldocument.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/string_write_stream.h" TEST(CFX_XMLTextTest, GetType) { CFX_XMLText text(L"My Text"); EXPECT_EQ(CFX_XMLNode::Type::kText, text.GetType()); } TEST(CFX_XMLTextTest, GetText) { CFX_XMLText data(L"My Data"); EXPECT_EQ(L"My Data", data.GetText()); } TEST(CFX_XMLTextTest, Clone) { CFX_XMLDocument doc; CFX_XMLText data(L"My Data"); CFX_XMLNode* clone = data.Clone(&doc); EXPECT_TRUE(clone != nullptr); ASSERT_EQ(CFX_XMLNode::Type::kText, clone->GetType()); EXPECT_EQ(L"My Data", ToXMLText(clone)->GetText()); } TEST(CFX_XMLTextTest, Save) { auto stream = pdfium::MakeRetain(); CFX_XMLText data(L"My Data & this is < and > and ' and \" stuff."); data.Save(stream); EXPECT_EQ("My Data & this is < and > and ' and " stuff.", stream->ToString()); } TEST(CFX_XMLTextTest, SetText) { CFX_XMLText data(L"My Data"); EXPECT_EQ(L"My Data", data.GetText()); data.SetText(L"New Text"); EXPECT_EQ(L"New Text", data.GetText()); }