summaryrefslogtreecommitdiff
path: root/svx/qa
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2023-08-19 17:46:12 +0200
committerTomaž Vajngerl <quikee@gmail.com>2023-08-23 09:18:37 +0200
commiteb217182a5c44de748218fea009a245254f30b95 (patch)
treea69d3e1822103e5e9412ac9eff3437b7205effe5 /svx/qa
parent9f327102c435887bbae650b3a573f44500b6f534 (diff)
move theme test from svx to sd - so we can use ThemeColorChange
Change-Id: I39cdc3baf81d3cb75d21ec963c05be57b97f30ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155865 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'svx/qa')
-rw-r--r--svx/qa/unit/data/theme.pptxbin30646 -> 0 bytes
-rw-r--r--svx/qa/unit/styles.cxx139
2 files changed, 0 insertions, 139 deletions
diff --git a/svx/qa/unit/data/theme.pptx b/svx/qa/unit/data/theme.pptx
deleted file mode 100644
index 08e4a3b6f130..000000000000
--- a/svx/qa/unit/data/theme.pptx
+++ /dev/null
Binary files differ
diff --git a/svx/qa/unit/styles.cxx b/svx/qa/unit/styles.cxx
deleted file mode 100644
index 93b96eb68ead..000000000000
--- a/svx/qa/unit/styles.cxx
+++ /dev/null
@@ -1,139 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include <test/unoapi_test.hxx>
-
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
-#include <com/sun/star/drawing/XMasterPageTarget.hpp>
-#include <com/sun/star/text/XTextRange.hpp>
-#include <docmodel/uno/UnoComplexColor.hxx>
-
-using namespace ::com::sun::star;
-
-namespace
-{
-/// Tests for svx/source/styles/ code.
-class Test : public UnoApiTest
-{
-public:
- Test()
- : UnoApiTest("svx/qa/unit/data/")
- {
- }
-};
-
-/// Get the character color of the first text portion in xShape.
-Color GetShapeTextColor(const uno::Reference<text::XTextRange>& xShape)
-{
- uno::Reference<container::XEnumerationAccess> xText(xShape->getText(), uno::UNO_QUERY);
- uno::Reference<container::XEnumerationAccess> xPara(xText->createEnumeration()->nextElement(),
- uno::UNO_QUERY);
- uno::Reference<beans::XPropertySet> xPortion(xPara->createEnumeration()->nextElement(),
- uno::UNO_QUERY);
- Color nColor{};
- xPortion->getPropertyValue("CharColor") >>= nColor;
- return nColor;
-}
-
-/// Get the solid fill color of xShape.
-Color GetShapeFillColor(const uno::Reference<beans::XPropertySet>& xShape)
-{
- Color nColor{};
- xShape->getPropertyValue("FillColor") >>= nColor;
- return nColor;
-}
-
-CPPUNIT_TEST_FIXTURE(Test, testThemeChange)
-{
- // Given a document, with a first slide and blue shape text from theme:
- loadFromURL(u"theme.pptx");
- uno::Reference<drawing::XDrawPagesSupplier> xDrawPagesSupplier(mxComponent, uno::UNO_QUERY);
- // The draw page also contains a group shape to make sure we don't crash on group shapes.
- uno::Reference<drawing::XMasterPageTarget> xDrawPage(
- xDrawPagesSupplier->getDrawPages()->getByIndex(0), uno::UNO_QUERY);
- uno::Reference<drawing::XShapes> xDrawPageShapes(xDrawPage, uno::UNO_QUERY);
- uno::Reference<text::XTextRange> xShape(xDrawPageShapes->getByIndex(0), uno::UNO_QUERY);
- // Blue.
- CPPUNIT_ASSERT_EQUAL(Color(0x4472c4), GetShapeTextColor(xShape));
- uno::Reference<text::XTextRange> xShape2(xDrawPageShapes->getByIndex(1), uno::UNO_QUERY);
- // Blue, lighter.
- CPPUNIT_ASSERT_EQUAL(Color(0xb4c7e7), GetShapeTextColor(xShape2));
- uno::Reference<text::XTextRange> xShape3(xDrawPageShapes->getByIndex(2), uno::UNO_QUERY);
- // Blue, darker.
- CPPUNIT_ASSERT_EQUAL(Color(0x2f5597), GetShapeTextColor(xShape3));
- // Shape fill:
- uno::Reference<beans::XPropertySet> xShape4(xDrawPageShapes->getByIndex(4), uno::UNO_QUERY);
- // Blue.
- CPPUNIT_ASSERT_EQUAL(Color(0x4472c4), GetShapeFillColor(xShape4));
-
- // The theme color of this filled shape is set by the PPTX import:
- {
- uno::Reference<util::XComplexColor> xComplexColor;
- CPPUNIT_ASSERT(xShape4->getPropertyValue("FillComplexColor") >>= xComplexColor);
- CPPUNIT_ASSERT(xComplexColor.is());
- auto aComplexColor = model::color::getFromXComplexColor(xComplexColor);
- CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType());
- }
- uno::Reference<beans::XPropertySet> xShape5(xDrawPageShapes->getByIndex(5), uno::UNO_QUERY);
- // Blue, lighter.
- CPPUNIT_ASSERT_EQUAL(Color(0xb4c7e7), GetShapeFillColor(xShape5));
- // The theme index, and effects (lum mod, lum off) are set by the PPTX import:
- {
- uno::Reference<util::XComplexColor> xComplexColor;
- CPPUNIT_ASSERT(xShape5->getPropertyValue("FillComplexColor") >>= xComplexColor);
- CPPUNIT_ASSERT(xComplexColor.is());
- auto aComplexColor = model::color::getFromXComplexColor(xComplexColor);
- CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType());
- CPPUNIT_ASSERT_EQUAL(model::TransformationType::LumMod,
- aComplexColor.getTransformations()[0].meType);
- CPPUNIT_ASSERT_EQUAL(sal_Int16(4000), aComplexColor.getTransformations()[0].mnValue);
- CPPUNIT_ASSERT_EQUAL(model::TransformationType::LumOff,
- aComplexColor.getTransformations()[1].meType);
- CPPUNIT_ASSERT_EQUAL(sal_Int16(6000), aComplexColor.getTransformations()[1].mnValue);
- }
- // When changing the master slide of slide 1 to use the theme of the second master slide:
- uno::Reference<drawing::XMasterPageTarget> xDrawPage2(
- xDrawPagesSupplier->getDrawPages()->getByIndex(1), uno::UNO_QUERY);
- uno::Reference<beans::XPropertySet> xMasterPage2(xDrawPage2->getMasterPage(), uno::UNO_QUERY);
- uno::Any aTheme = xMasterPage2->getPropertyValue("Theme");
- uno::Reference<beans::XPropertySet> xMasterPage(xDrawPage->getMasterPage(), uno::UNO_QUERY);
- xMasterPage->setPropertyValue("Theme", aTheme);
-
- // Then make sure the shape text color is now green:
- // Without the accompanying fix in place, this test would have failed with:
- // - Expected: 9486886 (#90c226, green)
- // - Actual : 4485828 (#4472c4, blue)
- // i.e. shape text was not updated on theme change.
- CPPUNIT_ASSERT_EQUAL(Color(0x90c226), GetShapeTextColor(xShape));
- // Green, lighter:
- // Without the accompanying fix in place, this test would have failed with:
- // - Expected: 14020002 (#d5eda2, light green)
- // - Actual : 9486886 (#90c226, stock green)
- // i.e. the "light" effect on green was not applied.
- CPPUNIT_ASSERT_EQUAL(Color(0xd5eda2), GetShapeTextColor(xShape2));
- // Green, darker.
- CPPUNIT_ASSERT_EQUAL(Color(0x6c911d), GetShapeTextColor(xShape3));
- // Shape fill:
- // Without the accompanying fix in place, this test would have failed with:
- // - Expected: 9486886 (#90c226, green)
- // - Actual : 4485828 (#4472c4, blue)
- CPPUNIT_ASSERT_EQUAL(Color(0x90c226), GetShapeFillColor(xShape4));
- // Green, lighter:
- // Without the accompanying fix in place, this test would have failed with:
- // - Expected: 14020002 (#d5eda2, light green)
- // - Actual : 9486886 (#90c226, green)
- // i.e. the "light" effect on green was not applied.
- CPPUNIT_ASSERT_EQUAL(Color(0xd5eda2), GetShapeFillColor(xShape5));
-}
-}
-
-CPPUNIT_PLUGIN_IMPLEMENT();
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */