From 750b2a1c1908f629de0e5933c4e00af32d0a0c15 Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Wed, 20 Mar 2019 09:41:40 +0300 Subject: tdf#123504: improve unit test robustness ... since the values are unstable for charts. Just use reasonable lower bounds. Change-Id: I9510d834a3905c188b52313e267998a4c73f8aa2 Reviewed-on: https://gerrit.libreoffice.org/69458 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- chart2/qa/extras/chart2dump/chart2dump.cxx | 1 - .../extras/chart2dump/data/pie_chart_100_and_0.ods | Bin 11354 -> 0 bytes .../reference/piecharttest/pie_chart_100_and_0.txt | 20 ------------- chart2/qa/extras/chart2import.cxx | 33 +++++++++++++++++++++ chart2/qa/extras/data/ods/pie_chart_100_and_0.ods | Bin 0 -> 11354 bytes 5 files changed, 33 insertions(+), 21 deletions(-) delete mode 100644 chart2/qa/extras/chart2dump/data/pie_chart_100_and_0.ods delete mode 100644 chart2/qa/extras/chart2dump/reference/piecharttest/pie_chart_100_and_0.txt create mode 100644 chart2/qa/extras/data/ods/pie_chart_100_and_0.ods (limited to 'chart2') diff --git a/chart2/qa/extras/chart2dump/chart2dump.cxx b/chart2/qa/extras/chart2dump/chart2dump.cxx index 4e91eeb9aa96..698782988434 100644 --- a/chart2/qa/extras/chart2dump/chart2dump.cxx +++ b/chart2/qa/extras/chart2dump/chart2dump.cxx @@ -856,7 +856,6 @@ DECLARE_DUMP_TEST(PieChartTest, Chart2DumpTest, false) "exploded_pie_chart.ods", "donut_chart.ods", "pie_chart_many_slices.ods", - "pie_chart_100_and_0.ods", }; for (const OUString& sTestFile : aTestFiles) diff --git a/chart2/qa/extras/chart2dump/data/pie_chart_100_and_0.ods b/chart2/qa/extras/chart2dump/data/pie_chart_100_and_0.ods deleted file mode 100644 index a6ff5d6aa0e1..000000000000 Binary files a/chart2/qa/extras/chart2dump/data/pie_chart_100_and_0.ods and /dev/null differ diff --git a/chart2/qa/extras/chart2dump/reference/piecharttest/pie_chart_100_and_0.txt b/chart2/qa/extras/chart2dump/reference/piecharttest/pie_chart_100_and_0.txt deleted file mode 100644 index 40db143f4881..000000000000 --- a/chart2/qa/extras/chart2dump/reference/piecharttest/pie_chart_100_and_0.txt +++ /dev/null @@ -1,20 +0,0 @@ -// nSeriesCount -1 -/// Series 0 slices -// nSlicesCountInSeries -1 -/// /D=0:CS=0:CT=0:Series=0:Point=0 -// aSlicePosition.X -3210 -// aSlicePosition.Y -180 -// aSliceSize.Height -8639 -// aSliceSize.Width -8639 -// aSliceTransformation -8639;0;3210;0;8639;180;0;0;1 -// static_cast(aSliceFillStyle) -1 -// static_cast(aSliceFillColor) -17798 \ No newline at end of file diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index 2172493e654e..3170042d3dd2 100644 --- a/chart2/qa/extras/chart2import.cxx +++ b/chart2/qa/extras/chart2import.cxx @@ -123,6 +123,7 @@ public: void testDataPointInheritedColorDOCX(); void testExternalStrRefsXLSX(); void testSourceNumberFormatComplexCategoriesXLS(); + void testTdf123504(); CPPUNIT_TEST_SUITE(Chart2ImportTest); CPPUNIT_TEST(Fdo60083); @@ -200,6 +201,7 @@ public: CPPUNIT_TEST(testDataPointInheritedColorDOCX); CPPUNIT_TEST(testExternalStrRefsXLSX); CPPUNIT_TEST(testSourceNumberFormatComplexCategoriesXLS); + CPPUNIT_TEST(testTdf123504); CPPUNIT_TEST_SUITE_END(); @@ -1797,6 +1799,37 @@ void Chart2ImportTest::testSourceNumberFormatComplexCategoriesXLS() CPPUNIT_ASSERT(nNumberFormat != 0); } +void Chart2ImportTest::testTdf123504() +{ + load("/chart2/qa/extras/data/ods/", "pie_chart_100_and_0.ods"); + Reference xChartDoc(getChartDocFromSheet(0, mxComponent), + UNO_QUERY_THROW); + + Reference xChartDoc2(xChartDoc, UNO_QUERY_THROW); + Reference xChartType(getChartTypeFromDoc(xChartDoc2, 0), UNO_SET_THROW); + std::vector aDataSeriesYValues = getDataSeriesYValuesFromChartType(xChartType); + CPPUNIT_ASSERT_EQUAL(size_t(1), aDataSeriesYValues.size()); + + Reference xDrawPageSupplier(xChartDoc, UNO_QUERY_THROW); + Reference xDrawPage(xDrawPageSupplier->getDrawPage(), UNO_SET_THROW); + Reference xShapes(xDrawPage->getByIndex(0), UNO_QUERY_THROW); + Reference xSeriesSlices(getShapeByName(xShapes, "CID/D=0:CS=0:CT=0:Series=0"), + UNO_SET_THROW); + + Reference xIndexAccess(xSeriesSlices, UNO_QUERY_THROW); + CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); + Reference xSlice(xIndexAccess->getByIndex(0), UNO_QUERY_THROW); + + // Check size and position of the only slice in the chart (100%) + // In the regressed state, it used to be 0-sized at position 0,0 + awt::Point aSlicePosition = xSlice->getPosition(); + CPPUNIT_ASSERT_GREATER(sal_Int32(3000), aSlicePosition.X); + CPPUNIT_ASSERT_GREATER(sal_Int32(150), aSlicePosition.Y); + awt::Size aSliceSize = xSlice->getSize(); + CPPUNIT_ASSERT_GREATER(sal_Int32(8500), aSliceSize.Height); + CPPUNIT_ASSERT_GREATER(sal_Int32(8500), aSliceSize.Width); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ImportTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/chart2/qa/extras/data/ods/pie_chart_100_and_0.ods b/chart2/qa/extras/data/ods/pie_chart_100_and_0.ods new file mode 100644 index 000000000000..a6ff5d6aa0e1 Binary files /dev/null and b/chart2/qa/extras/data/ods/pie_chart_100_and_0.ods differ -- cgit