diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2023-08-19 17:46:12 +0200 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2023-08-23 09:18:37 +0200 |
commit | eb217182a5c44de748218fea009a245254f30b95 (patch) | |
tree | a69d3e1822103e5e9412ac9eff3437b7205effe5 /svx | |
parent | 9f327102c435887bbae650b3a573f44500b6f534 (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')
-rw-r--r-- | svx/CppunitTest_svx_styles.mk | 50 | ||||
-rw-r--r-- | svx/Module_svx.mk | 1 | ||||
-rw-r--r-- | svx/qa/unit/data/theme.pptx | bin | 30646 -> 0 bytes | |||
-rw-r--r-- | svx/qa/unit/styles.cxx | 139 |
4 files changed, 0 insertions, 190 deletions
diff --git a/svx/CppunitTest_svx_styles.mk b/svx/CppunitTest_svx_styles.mk deleted file mode 100644 index 69f6a0953850..000000000000 --- a/svx/CppunitTest_svx_styles.mk +++ /dev/null @@ -1,50 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -#************************************************************************* -# -# 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/. -# -#************************************************************************* - -$(eval $(call gb_CppunitTest_CppunitTest,svx_styles)) - -$(eval $(call gb_CppunitTest_use_externals,svx_styles,\ - boost_headers \ -)) - -$(eval $(call gb_CppunitTest_add_exception_objects,svx_styles, \ - svx/qa/unit/styles \ -)) - -$(eval $(call gb_CppunitTest_use_libraries,svx_styles, \ - comphelper \ - cppu \ - cppuhelper \ - docmodel \ - editeng \ - svx \ - sal \ - subsequenttest \ - test \ - unotest \ - utl \ - tl \ -)) - -$(eval $(call gb_CppunitTest_use_sdk_api,svx_styles)) - -$(eval $(call gb_CppunitTest_use_ure,svx_styles)) -$(eval $(call gb_CppunitTest_use_vcl,svx_styles)) - -$(eval $(call gb_CppunitTest_use_rdb,svx_styles,services)) - -$(eval $(call gb_CppunitTest_use_custom_headers,svx_styles,\ - officecfg/registry \ -)) - -$(eval $(call gb_CppunitTest_use_configuration,svx_styles)) - -# vim: set noet sw=4 ts=4: diff --git a/svx/Module_svx.mk b/svx/Module_svx.mk index 40e65bd70d0d..ddf824cdf4bc 100644 --- a/svx/Module_svx.mk +++ b/svx/Module_svx.mk @@ -39,7 +39,6 @@ $(eval $(call gb_Module_add_check_targets,svx,\ CppunitTest_svx_unit \ CppunitTest_svx_gallery_test \ CppunitTest_svx_removewhichrange \ - CppunitTest_svx_styles \ CppunitTest_svx_core \ )) diff --git a/svx/qa/unit/data/theme.pptx b/svx/qa/unit/data/theme.pptx Binary files differdeleted file mode 100644 index 08e4a3b6f130..000000000000 --- a/svx/qa/unit/data/theme.pptx +++ /dev/null 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: */ |