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>
This commit is contained in:
parent
9f327102c4
commit
eb217182a5
6 changed files with 105 additions and 75 deletions
78
sd/CppunitTest_sd_theme_tests.mk
Normal file
78
sd/CppunitTest_sd_theme_tests.mk
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
# -*- 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,sd_theme_tests))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_use_externals,sd_theme_tests,\
|
||||||
|
boost_headers \
|
||||||
|
libxml2 \
|
||||||
|
))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_use_common_precompiled_header,sd_theme_tests))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_add_exception_objects,sd_theme_tests, \
|
||||||
|
sd/qa/unit/ThemeTest \
|
||||||
|
))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_use_libraries,sd_theme_tests, \
|
||||||
|
basegfx \
|
||||||
|
comphelper \
|
||||||
|
cppu \
|
||||||
|
cppuhelper \
|
||||||
|
drawinglayer \
|
||||||
|
docmodel \
|
||||||
|
editeng \
|
||||||
|
for \
|
||||||
|
forui \
|
||||||
|
i18nlangtag \
|
||||||
|
sal \
|
||||||
|
salhelper \
|
||||||
|
sax \
|
||||||
|
sd \
|
||||||
|
sfx \
|
||||||
|
sot \
|
||||||
|
subsequenttest \
|
||||||
|
svl \
|
||||||
|
svt \
|
||||||
|
svx \
|
||||||
|
svxcore \
|
||||||
|
test \
|
||||||
|
tl \
|
||||||
|
tk \
|
||||||
|
ucbhelper \
|
||||||
|
unotest \
|
||||||
|
utl \
|
||||||
|
vcl \
|
||||||
|
xo \
|
||||||
|
))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_set_include,sd_theme_tests,\
|
||||||
|
-I$(SRCDIR)/sd/source/ui/inc \
|
||||||
|
-I$(SRCDIR)/sd/inc \
|
||||||
|
$$(INCLUDE) \
|
||||||
|
))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_use_sdk_api,sd_theme_tests))
|
||||||
|
$(eval $(call gb_CppunitTest_use_ure,sd_theme_tests))
|
||||||
|
$(eval $(call gb_CppunitTest_use_vcl,sd_theme_tests))
|
||||||
|
$(eval $(call gb_CppunitTest_use_rdb,sd_theme_tests,services))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_use_custom_headers,sd_theme_tests,\
|
||||||
|
officecfg/registry \
|
||||||
|
))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_use_configuration,sd_theme_tests))
|
||||||
|
|
||||||
|
$(eval $(call gb_CppunitTest_add_arguments,sd_theme_tests, \
|
||||||
|
-env:arg-env=$(gb_Helper_LIBRARY_PATH_VAR)"$$$${$(gb_Helper_LIBRARY_PATH_VAR)+=$$$$$(gb_Helper_LIBRARY_PATH_VAR)}" \
|
||||||
|
))
|
||||||
|
|
||||||
|
# vim: set noet sw=4 ts=4:
|
|
@ -51,6 +51,7 @@ $(eval $(call gb_Module_add_slowcheck_targets,sd,\
|
||||||
CppunitTest_sd_shape_import_export_tests \
|
CppunitTest_sd_shape_import_export_tests \
|
||||||
CppunitTest_sd_a11y \
|
CppunitTest_sd_a11y \
|
||||||
CppunitTest_sd_textfitting_tests \
|
CppunitTest_sd_textfitting_tests \
|
||||||
|
CppunitTest_sd_theme_tests \
|
||||||
))
|
))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "sdmodeltestbase.hxx"
|
||||||
|
|
||||||
#include <test/unoapi_test.hxx>
|
#include <test/unoapi_test.hxx>
|
||||||
|
|
||||||
#include <com/sun/star/beans/XPropertySet.hpp>
|
#include <com/sun/star/beans/XPropertySet.hpp>
|
||||||
|
@ -15,20 +17,26 @@
|
||||||
#include <com/sun/star/text/XTextRange.hpp>
|
#include <com/sun/star/text/XTextRange.hpp>
|
||||||
#include <docmodel/uno/UnoComplexColor.hxx>
|
#include <docmodel/uno/UnoComplexColor.hxx>
|
||||||
|
|
||||||
using namespace ::com::sun::star;
|
#include <svx/unoapi.hxx>
|
||||||
|
|
||||||
namespace
|
#include <DrawDocShell.hxx>
|
||||||
{
|
#include <unomodel.hxx>
|
||||||
/// Tests for svx/source/styles/ code.
|
#include <sdpage.hxx>
|
||||||
class Test : public UnoApiTest
|
#include <ViewShell.hxx>
|
||||||
|
|
||||||
|
using namespace css;
|
||||||
|
|
||||||
|
class ThemeTest : public SdModelTestBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Test()
|
ThemeTest()
|
||||||
: UnoApiTest("svx/qa/unit/data/")
|
: SdModelTestBase("/sd/qa/unit/data/")
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
/// Get the character color of the first text portion in xShape.
|
/// Get the character color of the first text portion in xShape.
|
||||||
Color GetShapeTextColor(const uno::Reference<text::XTextRange>& xShape)
|
Color GetShapeTextColor(const uno::Reference<text::XTextRange>& xShape)
|
||||||
{
|
{
|
||||||
|
@ -50,24 +58,31 @@ Color GetShapeFillColor(const uno::Reference<beans::XPropertySet>& xShape)
|
||||||
return nColor;
|
return nColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(Test, testThemeChange)
|
} // end anonymous namespace
|
||||||
|
|
||||||
|
CPPUNIT_TEST_FIXTURE(ThemeTest, testThemeChange)
|
||||||
{
|
{
|
||||||
// Given a document, with a first slide and blue shape text from theme:
|
// Given a document, with a first slide and blue shape text from theme:
|
||||||
loadFromURL(u"theme.pptx");
|
loadFromURL(u"theme.pptx");
|
||||||
|
|
||||||
uno::Reference<drawing::XDrawPagesSupplier> xDrawPagesSupplier(mxComponent, uno::UNO_QUERY);
|
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.
|
// The draw page also contains a group shape to make sure we don't crash on group shapes.
|
||||||
uno::Reference<drawing::XMasterPageTarget> xDrawPage(
|
uno::Reference<drawing::XMasterPageTarget> xDrawPage(
|
||||||
xDrawPagesSupplier->getDrawPages()->getByIndex(0), uno::UNO_QUERY);
|
xDrawPagesSupplier->getDrawPages()->getByIndex(0), uno::UNO_QUERY);
|
||||||
uno::Reference<drawing::XShapes> xDrawPageShapes(xDrawPage, uno::UNO_QUERY);
|
uno::Reference<drawing::XShapes> xDrawPageShapes(xDrawPage, uno::UNO_QUERY);
|
||||||
|
|
||||||
uno::Reference<text::XTextRange> xShape(xDrawPageShapes->getByIndex(0), uno::UNO_QUERY);
|
uno::Reference<text::XTextRange> xShape(xDrawPageShapes->getByIndex(0), uno::UNO_QUERY);
|
||||||
// Blue.
|
// Blue.
|
||||||
CPPUNIT_ASSERT_EQUAL(Color(0x4472c4), GetShapeTextColor(xShape));
|
CPPUNIT_ASSERT_EQUAL(Color(0x4472c4), GetShapeTextColor(xShape));
|
||||||
|
|
||||||
uno::Reference<text::XTextRange> xShape2(xDrawPageShapes->getByIndex(1), uno::UNO_QUERY);
|
uno::Reference<text::XTextRange> xShape2(xDrawPageShapes->getByIndex(1), uno::UNO_QUERY);
|
||||||
// Blue, lighter.
|
// Blue, lighter.
|
||||||
CPPUNIT_ASSERT_EQUAL(Color(0xb4c7e7), GetShapeTextColor(xShape2));
|
CPPUNIT_ASSERT_EQUAL(Color(0xb4c7e7), GetShapeTextColor(xShape2));
|
||||||
|
|
||||||
uno::Reference<text::XTextRange> xShape3(xDrawPageShapes->getByIndex(2), uno::UNO_QUERY);
|
uno::Reference<text::XTextRange> xShape3(xDrawPageShapes->getByIndex(2), uno::UNO_QUERY);
|
||||||
// Blue, darker.
|
// Blue, darker.
|
||||||
CPPUNIT_ASSERT_EQUAL(Color(0x2f5597), GetShapeTextColor(xShape3));
|
CPPUNIT_ASSERT_EQUAL(Color(0x2f5597), GetShapeTextColor(xShape3));
|
||||||
|
|
||||||
// Shape fill:
|
// Shape fill:
|
||||||
uno::Reference<beans::XPropertySet> xShape4(xDrawPageShapes->getByIndex(4), uno::UNO_QUERY);
|
uno::Reference<beans::XPropertySet> xShape4(xDrawPageShapes->getByIndex(4), uno::UNO_QUERY);
|
||||||
// Blue.
|
// Blue.
|
||||||
|
@ -81,6 +96,7 @@ CPPUNIT_TEST_FIXTURE(Test, testThemeChange)
|
||||||
auto aComplexColor = model::color::getFromXComplexColor(xComplexColor);
|
auto aComplexColor = model::color::getFromXComplexColor(xComplexColor);
|
||||||
CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType());
|
CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType());
|
||||||
}
|
}
|
||||||
|
|
||||||
uno::Reference<beans::XPropertySet> xShape5(xDrawPageShapes->getByIndex(5), uno::UNO_QUERY);
|
uno::Reference<beans::XPropertySet> xShape5(xDrawPageShapes->getByIndex(5), uno::UNO_QUERY);
|
||||||
// Blue, lighter.
|
// Blue, lighter.
|
||||||
CPPUNIT_ASSERT_EQUAL(Color(0xb4c7e7), GetShapeFillColor(xShape5));
|
CPPUNIT_ASSERT_EQUAL(Color(0xb4c7e7), GetShapeFillColor(xShape5));
|
||||||
|
@ -98,41 +114,27 @@ CPPUNIT_TEST_FIXTURE(Test, testThemeChange)
|
||||||
aComplexColor.getTransformations()[1].meType);
|
aComplexColor.getTransformations()[1].meType);
|
||||||
CPPUNIT_ASSERT_EQUAL(sal_Int16(6000), aComplexColor.getTransformations()[1].mnValue);
|
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:
|
// When changing the master slide of slide 1 to use the theme of the second master slide:
|
||||||
uno::Reference<drawing::XMasterPageTarget> xDrawPage2(
|
uno::Reference<drawing::XMasterPageTarget> xDrawPage2(
|
||||||
xDrawPagesSupplier->getDrawPages()->getByIndex(1), uno::UNO_QUERY);
|
xDrawPagesSupplier->getDrawPages()->getByIndex(1), uno::UNO_QUERY);
|
||||||
uno::Reference<beans::XPropertySet> xMasterPage2(xDrawPage2->getMasterPage(), uno::UNO_QUERY);
|
uno::Reference<beans::XPropertySet> xMasterPage2(xDrawPage2->getMasterPage(), uno::UNO_QUERY);
|
||||||
uno::Any aTheme = xMasterPage2->getPropertyValue("Theme");
|
uno::Any aTheme = xMasterPage2->getPropertyValue("Theme");
|
||||||
|
|
||||||
uno::Reference<beans::XPropertySet> xMasterPage(xDrawPage->getMasterPage(), uno::UNO_QUERY);
|
uno::Reference<beans::XPropertySet> xMasterPage(xDrawPage->getMasterPage(), uno::UNO_QUERY);
|
||||||
xMasterPage->setPropertyValue("Theme", aTheme);
|
xMasterPage->setPropertyValue("Theme", aTheme);
|
||||||
|
|
||||||
// Then make sure the shape text color is now green:
|
// 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));
|
CPPUNIT_ASSERT_EQUAL(Color(0x90c226), GetShapeTextColor(xShape));
|
||||||
// Green, lighter:
|
// 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));
|
CPPUNIT_ASSERT_EQUAL(Color(0xd5eda2), GetShapeTextColor(xShape2));
|
||||||
// Green, darker.
|
// Green, darker.
|
||||||
CPPUNIT_ASSERT_EQUAL(Color(0x6c911d), GetShapeTextColor(xShape3));
|
CPPUNIT_ASSERT_EQUAL(Color(0x6c911d), GetShapeTextColor(xShape3));
|
||||||
// Shape fill:
|
// 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));
|
CPPUNIT_ASSERT_EQUAL(Color(0x90c226), GetShapeFillColor(xShape4));
|
||||||
// Green, lighter:
|
// 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_ASSERT_EQUAL(Color(0xd5eda2), GetShapeFillColor(xShape5));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||||
|
|
|
@ -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:
|
|
|
@ -39,7 +39,6 @@ $(eval $(call gb_Module_add_check_targets,svx,\
|
||||||
CppunitTest_svx_unit \
|
CppunitTest_svx_unit \
|
||||||
CppunitTest_svx_gallery_test \
|
CppunitTest_svx_gallery_test \
|
||||||
CppunitTest_svx_removewhichrange \
|
CppunitTest_svx_removewhichrange \
|
||||||
CppunitTest_svx_styles \
|
|
||||||
CppunitTest_svx_core \
|
CppunitTest_svx_core \
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue