summaryrefslogtreecommitdiffstats
path: root/sd/qa/unit/layout-tests.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/qa/unit/layout-tests.cxx')
-rw-r--r--sd/qa/unit/layout-tests.cxx48
1 files changed, 48 insertions, 0 deletions
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<int, int, int, int> 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: */