diff options
author | Szabolcs Toth <toth.szabolcs@nisz.hu> | 2020-12-08 16:21:25 +0100 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2020-12-11 10:09:42 +0100 |
commit | a4eec60c388cc65ae0b4c8ea0fd7235f520a749d (patch) | |
tree | 001b4bffee8ab6a93430ea256a5144a75b2e23bb /sc/qa/unit | |
parent | 83cc9f915118c04725cf4a197e44a582ff51d9df (diff) |
tdf#123613 XLSX export: fix position of rotated shapes
based on the bounding box of the custom shape.
Change-Id: I63a2a4380ae0c6c0eb37d3e5e4dcbfc839b410a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107424
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'sc/qa/unit')
-rw-r--r-- | sc/qa/unit/subsequent_export-test.cxx | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx index 9da6af5cde8b..ce6083a591c2 100644 --- a/sc/qa/unit/subsequent_export-test.cxx +++ b/sc/qa/unit/subsequent_export-test.cxx @@ -5409,8 +5409,9 @@ void ScExportTest::testTdf135828_Shape_Rect() { if (!IsDefaultDPI()) return; - // tdf#135828 Check that the width and the height of rectangle of the shape - // is correct. + // tdf#135828 Check that the width and the height of rectangle of the shape is correct. + // tdf#123613 Check the positioning, and allow massive rounding errors because of the back and + // forth conversion between emu and hmm. ScDocShellRef xShell = loadDoc("tdf135828_Shape_Rect.", FORMAT_XLSX); CPPUNIT_ASSERT(xShell.is()); @@ -5422,8 +5423,15 @@ void ScExportTest::testTdf135828_Shape_Rect() xmlDocUniquePtr pDrawing = XPathHelper::parseExport(pXPathFile, m_xSFactory, "xl/drawings/drawing1.xml"); CPPUNIT_ASSERT(pDrawing); - assertXPath(pDrawing, "/xdr:wsDr/xdr:twoCellAnchor/xdr:sp/xdr:spPr/a:xfrm/a:ext", "cx", "294480"); // width - assertXPath(pDrawing, "/xdr:wsDr/xdr:twoCellAnchor/xdr:sp/xdr:spPr/a:xfrm/a:ext", "cy", "1990440"); // height + double nXPosOfTopleft = getXPath(pDrawing, "/xdr:wsDr/xdr:twoCellAnchor/xdr:sp/xdr:spPr/a:xfrm/a:off", "x" ).toDouble(); + double nYPosOfTopleft = getXPath(pDrawing, "/xdr:wsDr/xdr:twoCellAnchor/xdr:sp/xdr:spPr/a:xfrm/a:off", "y" ).toDouble(); + double nWidth = getXPath(pDrawing, "/xdr:wsDr/xdr:twoCellAnchor/xdr:sp/xdr:spPr/a:xfrm/a:ext", "cx").toDouble(); + double nHeight = getXPath(pDrawing, "/xdr:wsDr/xdr:twoCellAnchor/xdr:sp/xdr:spPr/a:xfrm/a:ext", "cy").toDouble(); + + CPPUNIT_ASSERT_DOUBLES_EQUAL( 854640, nXPosOfTopleft, 10000); + CPPUNIT_ASSERT_DOUBLES_EQUAL( -570600, nYPosOfTopleft, 10000); + CPPUNIT_ASSERT_DOUBLES_EQUAL( 294840, nWidth, 10000); + CPPUNIT_ASSERT_DOUBLES_EQUAL( 1988280, nHeight, 10000); } void ScExportTest::testTdf123353() |