// SPDX-License-Identifier: GPL-2.0-or-later /** @file * Test the API to the style element, access, read and write functions. *//* * * Authors: * Martin Owens * * Copyright (C) 2018 Authors * * Released under GNU GPL version 2 or later, read the file 'COPYING' for more information */ #include #include #include #include #include using namespace Inkscape; using namespace Inkscape::XML; class ObjectTest: public DocPerCaseTest { public: ObjectTest() { char const *docString = "\ \ \ \ "; doc.reset(SPDocument::createNewDocFromMem(docString, static_cast(strlen(docString)), false)); } ~ObjectTest() override = default; std::unique_ptr doc; }; /* * Test sp-style-element objects created in document. */ TEST_F(ObjectTest, StyleElems) { ASSERT_TRUE(doc != nullptr); ASSERT_TRUE(doc->getRoot() != nullptr); SPRoot *root = doc->getRoot(); ASSERT_TRUE(root->getRepr() != nullptr); SPStyleElem *one = dynamic_cast(doc->getObjectById("style01")); ASSERT_TRUE(one != nullptr); for (auto &style : one->get_styles()) { EXPECT_EQ(style->fill.get_value(), Glib::ustring("#ff0000")); } SPStyleElem *two = dynamic_cast(doc->getObjectById("style02")); ASSERT_TRUE(one != nullptr); for (auto &style : two->get_styles()) { EXPECT_EQ(style->fill.get_value(), Glib::ustring("#008000")); } }