summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2023-08-01 22:06:31 +0200
committerTomaž Vajngerl <quikee@gmail.com>2023-08-21 08:57:15 +0200
commit73ec9c71689525ff14db219238083ff75028f8c8 (patch)
tree0afd210299bc810296ed9cb3d9a0297a54123b83 /xmloff
parente60ef8651cfb30335471d1622e58c13eebc7d58b (diff)
Tests with color stops to assert Color and not BColor values
For testing color stops of a gradient we don't need to assert super precise values (doubls to the n-th decimal point) as long the end results in the same (8-bit) Color value. So change the tests to convert the BColor that is in gradient color stops to Color and assert the Color value. Change-Id: Ibd7661e2f72955a0778e822df1fae568973be357 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155360 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/CppunitTest_xmloff_style.mk2
-rw-r--r--xmloff/qa/unit/style.cxx81
2 files changed, 44 insertions, 39 deletions
diff --git a/xmloff/CppunitTest_xmloff_style.mk b/xmloff/CppunitTest_xmloff_style.mk
index 22d37dffaa83..d2edb42986b9 100644
--- a/xmloff/CppunitTest_xmloff_style.mk
+++ b/xmloff/CppunitTest_xmloff_style.mk
@@ -21,9 +21,11 @@ $(eval $(call gb_CppunitTest_add_exception_objects,xmloff_style, \
))
$(eval $(call gb_CppunitTest_use_libraries,xmloff_style, \
+ basegfx \
comphelper \
cppu \
cppuhelper \
+ docmodel \
subsequenttest \
embobj \
sal \
diff --git a/xmloff/qa/unit/style.cxx b/xmloff/qa/unit/style.cxx
index bde981d38864..132caa08c346 100644
--- a/xmloff/qa/unit/style.cxx
+++ b/xmloff/qa/unit/style.cxx
@@ -17,9 +17,9 @@
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
#include <com/sun/star/drawing/XShape.hpp>
-#include <com/sun/star/rendering/RGBColor.hpp>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
+#include <docmodel/uno/UnoComplexColor.hxx>
#include <officecfg/Office/Common.hxx>
#include <rtl/character.hxx>
#include <unotools/saveopt.hxx>
@@ -80,6 +80,12 @@ struct XmlFont
return aFontFamilyGeneric.compareTo(rOther.aFontFamilyGeneric) < 0;
}
};
+
+Color asColor(com::sun::star::rendering::RGBColor const& rRGBColor)
+{
+ basegfx::BColor aBColor(rRGBColor.Red, rRGBColor.Green, rRGBColor.Blue);
+ return Color(aBColor);
+}
}
CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testFontSorting)
@@ -369,16 +375,16 @@ CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testMCGR_OldToNew)
// Test new properties
auto aColorStopSeq = aGradient.ColorStops;
- awt::ColorStop aColorStop = aColorStopSeq[0];
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopOffset);
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopColor.Red);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Green);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Blue);
- aColorStop = aColorStopSeq[1];
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopOffset);
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopColor.Red);
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopColor.Green);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Blue);
+ {
+ awt::ColorStop aColorStop = aColorStopSeq[0];
+ CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopOffset);
+ CPPUNIT_ASSERT_EQUAL(Color(0xff0000), asColor(aColorStop.StopColor));
+ }
+ {
+ awt::ColorStop aColorStop = aColorStopSeq[1];
+ CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopOffset);
+ CPPUNIT_ASSERT_EQUAL(Color(0xffff00), asColor(aColorStop.StopColor));
+ }
}
CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testMCGR_OldToNew_opacity)
@@ -429,18 +435,16 @@ CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testMCGR_OldToNew_opacity)
// Test new properties
auto aColorStopSeq = aGradient.ColorStops;
- awt::ColorStop aColorStop = aColorStopSeq[0];
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopOffset);
- // Rounding error because of converting through color: 90% => 0.9 * 255 => 229
- // 299.0 / 255.0 = 0.898039215686275
- CPPUNIT_ASSERT_DOUBLES_EQUAL(0.9, aColorStop.StopColor.Red, 0.002);
- CPPUNIT_ASSERT_DOUBLES_EQUAL(0.9, aColorStop.StopColor.Green, 0.002);
- CPPUNIT_ASSERT_DOUBLES_EQUAL(0.9, aColorStop.StopColor.Blue, 0.002);
- aColorStop = aColorStopSeq[1];
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopOffset);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Red);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Green);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Blue);
+ {
+ awt::ColorStop aColorStop = aColorStopSeq[0];
+ CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopOffset);
+ CPPUNIT_ASSERT_EQUAL(Color(0xe5e5e5), asColor(aColorStop.StopColor));
+ }
+ {
+ awt::ColorStop aColorStop = aColorStopSeq[1];
+ CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopOffset);
+ CPPUNIT_ASSERT_EQUAL(Color(0x000000), asColor(aColorStop.StopColor));
+ }
}
CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testMCGR_threeStops)
@@ -497,22 +501,21 @@ CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testMCGR_threeStops)
// Test new properties
auto aColorStopSeq = aGradient.ColorStops;
- awt::ColorStop aColorStop = aColorStopSeq[0];
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopOffset);
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopColor.Red);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Green);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Blue);
- aColorStop = aColorStopSeq[1];
- CPPUNIT_ASSERT_EQUAL(0.3, aColorStop.StopOffset);
- // 0x99 = 153 => 153/255 = 0.6, 0xbb = 187 => 187/255 = 0.733...
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Red);
- CPPUNIT_ASSERT_EQUAL(0.6, aColorStop.StopColor.Green);
- CPPUNIT_ASSERT_DOUBLES_EQUAL(0.733333333333333, aColorStop.StopColor.Blue, 0.0000001);
- aColorStop = aColorStopSeq[2];
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopOffset);
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopColor.Red);
- CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopColor.Green);
- CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopColor.Blue);
+ {
+ awt::ColorStop aColorStop = aColorStopSeq[0];
+ CPPUNIT_ASSERT_EQUAL(0.0, aColorStop.StopOffset);
+ CPPUNIT_ASSERT_EQUAL(Color(0xff0000), asColor(aColorStop.StopColor));
+ }
+ {
+ awt::ColorStop aColorStop = aColorStopSeq[1];
+ CPPUNIT_ASSERT_EQUAL(0.3, aColorStop.StopOffset);
+ CPPUNIT_ASSERT_EQUAL(Color(0x0099bb), asColor(aColorStop.StopColor));
+ }
+ {
+ awt::ColorStop aColorStop = aColorStopSeq[2];
+ CPPUNIT_ASSERT_EQUAL(1.0, aColorStop.StopOffset);
+ CPPUNIT_ASSERT_EQUAL(Color(0xffff00), asColor(aColorStop.StopColor));
+ }
}
CPPUNIT_TEST_FIXTURE(XmloffStyleTest, testBorderRestoration)