summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga991@gmail.com>2019-08-06 15:22:30 +0200
committerLászló Németh <nemeth@numbertext.org>2019-08-07 14:23:50 +0200
commit80386c73e172975572f265018333c6231a6b3b22 (patch)
treeaa9f38d18d952dfce69f67c3026b6f43c5c8d17c /chart2
parent5bb6c1bdef28de0e30326b13161f681e1d58a032 (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.cxx28
-rw-r--r--chart2/qa/extras/data/docx/tdf125337.docxbin0 -> 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
new file mode 100644
index 000000000000..811f12d89841
--- /dev/null
+++ b/chart2/qa/extras/data/docx/tdf125337.docx
Binary files differ