From 9c0049cfae49c8e4ddef9125a69db2ad134c10c6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 7 Jun 2024 13:48:25 +0200 Subject: Merging upstream version 4:24.2.4. Signed-off-by: Daniel Baumann --- sd/qa/unit/PNGExportTests.cxx | 8 ++--- sd/qa/unit/data/odg/adjust-to-contour.fodg | 52 ++++++++++++++++++++++++++++++ sd/qa/unit/layout-tests.cxx | 48 +++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 sd/qa/unit/data/odg/adjust-to-contour.fodg (limited to 'sd/qa/unit') diff --git a/sd/qa/unit/PNGExportTests.cxx b/sd/qa/unit/PNGExportTests.cxx index 855c3becfd..69343b8b20 100644 --- a/sd/qa/unit/PNGExportTests.cxx +++ b/sd/qa/unit/PNGExportTests.cxx @@ -483,21 +483,21 @@ CPPUNIT_TEST_FIXTURE(SdPNGExportTest, testTdf157793) CPPUNIT_ASSERT_EQUAL(Size(100, 100), aSize); Bitmap aBMP = aBMPEx.GetBitmap(); BitmapScopedReadAccess pReadAccess(aBMP); - int nLightGrayCount = 0; + int nWhiteCount = 0; for (tools::Long nX = 1; nX < aSize.Width() - 1; ++nX) { for (tools::Long nY = 1; nY < aSize.Height() - 1; ++nY) { const Color aColor = pReadAccess->GetColor(nY, nX); - if (aColor == 0xfefefe) - ++nLightGrayCount; + if (aColor == 0xffffff) + ++nWhiteCount; } } // Without the fix in place, this test would have failed with // - Expected greater than: 7800 // - Actual : 0 - CPPUNIT_ASSERT_GREATER(7800, nLightGrayCount); + CPPUNIT_ASSERT_GREATER(7800, nWhiteCount); } CPPUNIT_TEST_FIXTURE(SdPNGExportTest, testTdf157635) diff --git a/sd/qa/unit/data/odg/adjust-to-contour.fodg b/sd/qa/unit/data/odg/adjust-to-contour.fodg new file mode 100644 index 0000000000..a5ec6fed74 --- /dev/null +++ b/sd/qa/unit/data/odg/adjust-to-contour.fodg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat mi quis pretium semper. Proin luctus orci ac neque venenatis, quis commodo dolor posuere. Curabitur dignissim sapien quis cursus egestas. Donec blandit auctor arcu, nec pellentesque eros molestie eget. In consectetur aliquam hendrerit. Sed cursus mauris vitae ligula pellentesque, non pellentesque urna aliquet. Fusce placerat mauris enim, nec rutrum purus semper vel. Praesent tincidunt neque eu pellentesque pharetra. Fusce pellentesque est orci. + + + + + \ No newline at end of file diff --git a/sd/qa/unit/layout-tests.cxx b/sd/qa/unit/layout-tests.cxx index a93584b62f..9be1ce154b 100644 --- a/sd/qa/unit/layout-tests.cxx +++ b/sd/qa/unit/layout-tests.cxx @@ -380,6 +380,54 @@ CPPUNIT_TEST_FIXTURE(SdLayoutTest, testTdf112594) u"11\u202f\u1824"_ustr); } +CPPUNIT_TEST_FIXTURE(SdLayoutTest, testTdf152906_AdjustToContour) +{ + // Test that the text adjusts to contour properly + + constexpr OUString sText + = u"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat mi quis " + "pretium semper. Proin luctus orci ac neque venenatis, quis commodo dolor posuere. " + "Curabitur dignissim sapien quis cursus egestas. Donec blandit auctor arcu, nec " + "pellentesque eros molestie eget. In consectetur aliquam hendrerit. Sed cursus mauris " + "vitae ligula pellentesque, non pellentesque urna aliquet. Fusce placerat mauris enim, " + "nec rutrum purus semper vel. Praesent tincidunt neque eu pellentesque pharetra. Fusce " + "pellentesque est orci."_ustr; + + // index, length, x, y + const std::tuple strings[] = { + { 0, 6, 9600, 8647 }, // Lorem + { 6, 22, 7572, 9358 }, // ipsum dolor sit amet, + { 28, 29, 6776, 10069 }, // consectetur adipiscing elit. + { 57, 29, 6300, 10780 }, // Vestibulum consequat mi quis + { 86, 37, 5453, 11491 }, // pretium semper. Proin luctus orci ac + { 123, 36, 5136, 12202 }, // neque venenatis, quis commodo dolor + { 159, 41, 4765, 12913 }, // posuere. Curabitur dignissim sapien quis + { 200, 43, 4482, 13624 }, // cursus egestas. Donec blandit auctor arcu, + { 243, 40, 4977, 14335 }, // nec pellentesque eros molestie eget. In + { 283, 42, 4554, 15046 }, // consectetur aliquam hendrerit. Sed cursus + { 325, 38, 5364, 15757 }, // mauris vitae ligula pellentesque, non + { 363, 42, 4693, 16468 }, // pellentesque urna aliquet. Fusce placerat + { 405, 37, 5049, 17179 }, // mauris enim, nec rutrum purus semper + { 442, 33, 5963, 17890 }, // vel. Praesent tincidunt neque eu + { 475, 29, 6389, 18601 }, // pellentesque pharetra. Fusce + { 504, 22, 7500, 19312 }, // pellentesque est orci. + }; + + xmlDocUniquePtr pXmlDoc = load("odg/adjust-to-contour.fodg"); + + assertXPath(pXmlDoc, "/metafile/push[1]/push[1]/textarray"_ostr, std::size(strings)); + for (size_t i = 0; i < std::size(strings); ++i) + { + const auto & [ index, length, x, y ] = strings[i]; + OString sXPath = "/metafile/push[1]/push[1]/textarray[" + OString::number(i + 1) + "]"; + assertXPathContent(pXmlDoc, sXPath + "/text", sText); + assertXPath(pXmlDoc, sXPath, "index"_ostr, OUString::number(index)); + assertXPath(pXmlDoc, sXPath, "length"_ostr, OUString::number(length)); + assertXPath(pXmlDoc, sXPath, "x"_ostr, OUString::number(x)); + assertXPath(pXmlDoc, sXPath, "y"_ostr, OUString::number(y)); + } +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3