summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-08-07 14:16:22 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-08-07 14:22:05 -0400
commit844d143905411ef9d3a1fce2fc448b29f643500d (patch)
treedd1d957c23c3dd2c055d5f2844861b13beb25971
parented39df130c6319409eb78eb5e9f03a070120c9d8 (diff)
Add test for default data label placement for line chart.
Change-Id: I25cf48703a286470907ccc5415a0fab479aa4b8c
-rw-r--r--chart2/qa/extras/chart2export.cxx25
-rw-r--r--chart2/qa/extras/charttest.hxx1
-rwxr-xr-xchart2/qa/extras/data/docx/line-chart-label-default-placement.docxbin0 -> 17824 bytes
3 files changed, 26 insertions, 0 deletions
diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx
index 4d51dc41c7c2..2ebfd9d4d016 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -72,6 +72,7 @@ public:
void testDataLabelBordersDOCX();
void testDataLabel3DChartDOCX();
void testDataLabelDoughnutChartDOCX();
+ void testDataLabelDefaultLineChartDOCX();
CPPUNIT_TEST_SUITE(Chart2ExportTest);
CPPUNIT_TEST(test);
@@ -109,6 +110,7 @@ public:
CPPUNIT_TEST(testDataLabelBordersDOCX);
CPPUNIT_TEST(testDataLabel3DChartDOCX);
CPPUNIT_TEST(testDataLabelDoughnutChartDOCX);
+ CPPUNIT_TEST(testDataLabelDefaultLineChartDOCX);
CPPUNIT_TEST_SUITE_END();
protected:
@@ -837,6 +839,29 @@ void Chart2ExportTest::testDataLabelDoughnutChartDOCX()
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:doughnutChart/c:ser/c:dLbls/c:dLbl/c:dLblPos", 0);
}
+void Chart2ExportTest::testDataLabelDefaultLineChartDOCX()
+{
+ // This file was created by Word 2007, which doesn't provide default data
+ // label position (2010 does). Make sure its default data label position
+ // is RIGHT when exporting.
+
+ load("/chart2/qa/extras/data/docx/", "line-chart-label-default-placement.docx");
+
+ Reference<chart2::XChartDocument> xChartDoc(getChartDocFromWriter(0), uno::UNO_QUERY);
+ CPPUNIT_ASSERT(xChartDoc.is());
+
+ reload("Office Open XML Text");
+
+ xChartDoc.set(getChartDocFromWriter(0), uno::UNO_QUERY);
+ Reference<chart2::XDataSeries> xDataSeries = getDataSeriesFromDoc(xChartDoc, 0);
+ Reference<beans::XPropertySet> xPropSet(xDataSeries, uno::UNO_QUERY);
+ CPPUNIT_ASSERT(xPropSet.is());
+ sal_Int32 nLabelPlacement = -1;
+ if (xPropSet->getPropertyValue("LabelPlacement") >>= nLabelPlacement)
+ // This option may not be set. Check its value only when it's set.
+ CPPUNIT_ASSERT_MESSAGE("Line chart's default label placement should be 'right'.", nLabelPlacement == chart::DataLabelPlacement::RIGHT);
+}
+
void Chart2ExportTest::testBarChartRotation()
{
load ("/chart2/qa/extras/data/docx/", "barChartRotation.docx");
diff --git a/chart2/qa/extras/charttest.hxx b/chart2/qa/extras/charttest.hxx
index d9c022d82103..a76a76c1153c 100644
--- a/chart2/qa/extras/charttest.hxx
+++ b/chart2/qa/extras/charttest.hxx
@@ -44,6 +44,7 @@
#include <com/sun/star/chart2/data/XDataSource.hpp>
#include <com/sun/star/chart/XChartDataArray.hpp>
#include <com/sun/star/chart/XComplexDescriptionAccess.hpp>
+#include <com/sun/star/chart/DataLabelPlacement.hpp>
#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
#include <com/sun/star/drawing/FillStyle.hpp>
diff --git a/chart2/qa/extras/data/docx/line-chart-label-default-placement.docx b/chart2/qa/extras/data/docx/line-chart-label-default-placement.docx
new file mode 100755
index 000000000000..ab9548d59cae
--- /dev/null
+++ b/chart2/qa/extras/data/docx/line-chart-label-default-placement.docx
Binary files differ