From 4bcf1872bbe9db1388769485a7e4c0cbcce3d53c Mon Sep 17 00:00:00 2001 From: Jean-Tiare Le Bigot Date: Thu, 13 Oct 2016 23:43:41 +0200 Subject: chartx: fix sparse chart import Change-Id: I1bcd2257da900c6a88bc78040fabe5696e2bab7d Reviewed-on: https://gerrit.libreoffice.org/29801 Reviewed-by: Markus Mohrhard Tested-by: Markus Mohrhard --- chart2/qa/extras/chart2import.cxx | 24 ++++++++++++++++++++++++ chart2/qa/extras/data/pptx/sparse-chart.pptx | Bin 0 -> 57398 bytes 2 files changed, 24 insertions(+) create mode 100755 chart2/qa/extras/data/pptx/sparse-chart.pptx (limited to 'chart2') diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index c8137b9ac6ff..b508f3e123dd 100644 --- a/chart2/qa/extras/chart2import.cxx +++ b/chart2/qa/extras/chart2import.cxx @@ -40,6 +40,7 @@ public: void testDOCChartSeries(); void testDOCXChartSeries(); void testPPTXChartSeries(); + void testPPTXSparseChartSeries(); /** * Original data contains 3 series but 2 of them are hidden. For now, we * detect and skip those hidden series on import (since we don't support @@ -105,6 +106,7 @@ public: CPPUNIT_TEST(testDOCXChartSeries); CPPUNIT_TEST(testPPTChartSeries); CPPUNIT_TEST(testPPTXChartSeries); + CPPUNIT_TEST(testPPTXSparseChartSeries); CPPUNIT_TEST(testPPTXHiddenDataSeries); CPPUNIT_TEST(testPPTXPercentageNumberFormats); CPPUNIT_TEST(testPPTXStackedNonStackedYAxis); @@ -399,6 +401,28 @@ void Chart2ImportTest::testPPTXChartSeries() CPPUNIT_ASSERT_EQUAL(OUString("Column 3"), aLabels[2][0].get()); } +void Chart2ImportTest::testPPTXSparseChartSeries() +{ + //test chart series sparse data for pptx + load("/chart2/qa/extras/data/pptx/", "sparse-chart.pptx"); + Reference xChartDoc(getChartDocFromDrawImpress(0, 0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xChartDoc.is()); + + Reference xCT = getChartTypeFromDoc(xChartDoc, 0); + CPPUNIT_ASSERT(xCT.is()); + + std::vector > aValues = getDataSeriesYValuesFromChartType(xCT); + CPPUNIT_ASSERT_EQUAL(size_t(2), aValues.size()); + CPPUNIT_ASSERT_EQUAL(0.0, aValues[0][0]); + CPPUNIT_ASSERT_EQUAL(2.5, aValues[0][1]); + CPPUNIT_ASSERT_EQUAL(3.5, aValues[0][2]); + CPPUNIT_ASSERT_EQUAL(0.0, aValues[0][3]); + CPPUNIT_ASSERT_EQUAL(-2.4, aValues[1][0]); + CPPUNIT_ASSERT_EQUAL(0.0, aValues[1][1]); + CPPUNIT_ASSERT_EQUAL(0.0, aValues[1][2]); + CPPUNIT_ASSERT_EQUAL(-2.8, aValues[1][3]); +} + void Chart2ImportTest::testPPTXHiddenDataSeries() { load("/chart2/qa/extras/data/pptx/", "stacked-bar-chart-hidden-series.pptx"); diff --git a/chart2/qa/extras/data/pptx/sparse-chart.pptx b/chart2/qa/extras/data/pptx/sparse-chart.pptx new file mode 100755 index 000000000000..d91e8f52f40a Binary files /dev/null and b/chart2/qa/extras/data/pptx/sparse-chart.pptx differ -- cgit v1.2.3