diff options
author | Balazs Varga <balazs.varga991@gmail.com> | 2019-08-06 15:22:30 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2019-08-07 14:23:50 +0200 |
commit | 80386c73e172975572f265018333c6231a6b3b22 (patch) | |
tree | aa9f38d18d952dfce69f67c3026b6f43c5c8d17c /chart2 | |
parent | 5bb6c1bdef28de0e30326b13161f681e1d58a032 (diff) |
tdf#125337 Chart DOCX Import: fix missing empty data series columns
Create an empty column for a data series with NAN values, ie. where
only "ptCount" was defined without explicit data. Also data series
appear in the right order.
Change-Id: I4eac94c2b9f34c84c4c19e4717cafbd440b20087
Reviewed-on: https://gerrit.libreoffice.org/77026
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/qa/extras/chart2import.cxx | 28 | ||||
-rw-r--r-- | chart2/qa/extras/data/docx/tdf125337.docx | bin | 0 -> 25063 bytes |
2 files changed, 28 insertions, 0 deletions
diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index 710d15ebd60e..90a1bd8485cf 100644 --- a/chart2/qa/extras/chart2import.cxx +++ b/chart2/qa/extras/chart2import.cxx @@ -46,6 +46,7 @@ public: void testODTChartSeries(); void testDOCChartSeries(); void testDOCXChartSeries(); + void testDOCXChartEmptySeries(); void testDOCXChartValuesSize(); void testPPTXChartSeries(); void testPPTXSparseChartSeries(); @@ -146,6 +147,7 @@ public: CPPUNIT_TEST(testODTChartSeries); CPPUNIT_TEST(testDOCChartSeries); CPPUNIT_TEST(testDOCXChartSeries); + CPPUNIT_TEST(testDOCXChartEmptySeries); CPPUNIT_TEST(testDOCXChartValuesSize); CPPUNIT_TEST(testPPTChartSeries); CPPUNIT_TEST(testPPTXChartSeries); @@ -469,6 +471,32 @@ void Chart2ImportTest::testDOCXChartSeries() CPPUNIT_ASSERT_EQUAL(OUString("Series 3"), aLabels[2][0].get<OUString>()); } +void Chart2ImportTest::testDOCXChartEmptySeries() +{ + load("/chart2/qa/extras/data/docx/", "tdf125337.docx"); + Reference<chart2::XChartDocument> xChartDoc(getChartDocFromWriter(0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xChartDoc.is()); + + Reference<chart2::XChartType> xCT = getChartTypeFromDoc(xChartDoc, 0); + CPPUNIT_ASSERT(xCT.is()); + + std::vector<uno::Sequence<uno::Any> > aLabels = getDataSeriesLabelsFromChartType(xCT); + CPPUNIT_ASSERT_EQUAL(size_t(3), aLabels.size()); + CPPUNIT_ASSERT_EQUAL(OUString("1. dataseries"), aLabels[0][0].get<OUString>()); + CPPUNIT_ASSERT_EQUAL(OUString("2. dataseries"), aLabels[1][0].get<OUString>()); + CPPUNIT_ASSERT_EQUAL(OUString("Column 3"), aLabels[2][0].get<OUString>()); + + //test chart series sparse data for docx + std::vector<std::vector<double> > aValues = getDataSeriesYValuesFromChartType(xCT); + CPPUNIT_ASSERT_EQUAL(size_t(3), aValues.size()); + //test the second series values + CPPUNIT_ASSERT_EQUAL(2.4, aValues[1][0]); + CPPUNIT_ASSERT_EQUAL(4.4, aValues[1][1]); + //test the third series (empty) values + CPPUNIT_ASSERT(rtl::math::isNan(aValues[2][0])); + CPPUNIT_ASSERT(rtl::math::isNan(aValues[2][1])); +} + void Chart2ImportTest::testDOCXChartValuesSize() { load( "/chart2/qa/extras/data/docx/", "bubblechart.docx" ); diff --git a/chart2/qa/extras/data/docx/tdf125337.docx b/chart2/qa/extras/data/docx/tdf125337.docx Binary files differnew file mode 100644 index 000000000000..811f12d89841 --- /dev/null +++ b/chart2/qa/extras/data/docx/tdf125337.docx |