From deb2512e5ea16ad8fa9f975569fbc5363cebf8dd Mon Sep 17 00:00:00 2001 From: Tünde Tóth Date: Wed, 17 May 2023 13:49:29 +0200 Subject: tdf#148142 chart: fix export of modified On/Between tick marks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reset the MajorOrigin property after import to avoid of the bad export of the modified document, which reset the original On tick marks/Between tick marks value. Follow-up to commit 40d83914d43f60a196dfabddea0b52e2046b333a "tdf#127792 implement UNO chart attribute MajorOrigin". Change-Id: I0e3915b7d1b601abd40fbd1ba9d01fc05a8fb7c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151885 Tested-by: László Németh Reviewed-by: László Németh --- chart2/qa/extras/chart2export3.cxx | 25 +++++++++++++++++++++++++ chart2/qa/extras/data/ods/tdf148142.ods | Bin 0 -> 15349 bytes 2 files changed, 25 insertions(+) create mode 100644 chart2/qa/extras/data/ods/tdf148142.ods (limited to 'chart2') diff --git a/chart2/qa/extras/chart2export3.cxx b/chart2/qa/extras/chart2export3.cxx index d22d5e51e545..845e6c98c6a6 100644 --- a/chart2/qa/extras/chart2export3.cxx +++ b/chart2/qa/extras/chart2export3.cxx @@ -716,6 +716,31 @@ CPPUNIT_TEST_FIXTURE(Chart2ExportTest3, testBarChartSecondaryAxisXLSX) assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:valAx[2]/c:axId", "val", YValueIdOf2Barchart); } +CPPUNIT_TEST_FIXTURE(Chart2ExportTest3, testTdf148142) +{ + // The document contains a line chart with "Between tick marks" X axis position. + loadFromURL(u"ods/tdf148142.ods"); + Reference xChartDoc = getChartDocFromSheet(0, mxComponent); + CPPUNIT_ASSERT(xChartDoc.is()); + Reference xAxis = getAxisFromDoc(xChartDoc, 0, 0, 0); + CPPUNIT_ASSERT(xAxis.is()); + chart2::ScaleData aScaleData = xAxis->getScaleData(); + CPPUNIT_ASSERT(aScaleData.ShiftedCategoryPosition); + + // Set the X axis position to "On tick marks". + aScaleData.ShiftedCategoryPosition = false; + xAxis->setScaleData(aScaleData); + + // Check the X axis position after export. + saveAndReload("calc8"); + Reference xChartDoc2 = getChartDocFromSheet(0, mxComponent); + CPPUNIT_ASSERT(xChartDoc2.is()); + Reference xAxis2 = getAxisFromDoc(xChartDoc2, 0, 0, 0); + CPPUNIT_ASSERT(xAxis2.is()); + chart2::ScaleData aScaleData2 = xAxis2->getScaleData(); + CPPUNIT_ASSERT(!aScaleData2.ShiftedCategoryPosition); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/qa/extras/data/ods/tdf148142.ods b/chart2/qa/extras/data/ods/tdf148142.ods new file mode 100644 index 000000000000..9b736a06d19a Binary files /dev/null and b/chart2/qa/extras/data/ods/tdf148142.ods differ -- cgit