summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/qa/extras/chart2import.cxx19
-rw-r--r--chart2/qa/extras/charttest.hxx21
-rw-r--r--chart2/qa/extras/data/xlsx/axis-label-rotation.xlsxbin0 -> 13698 bytes
3 files changed, 40 insertions, 0 deletions
diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx
index f210c448f989..d9e98554a91c 100644
--- a/chart2/qa/extras/chart2import.cxx
+++ b/chart2/qa/extras/chart2import.cxx
@@ -43,6 +43,7 @@ public:
void testDelayedCellImport(); // chart range referencing content on later sheets
void testFlatODSStackedColumnChart();
void testChartAreaStyleBackgroundXLSX();
+ void testAxisTextRotationXLSX();
void testNumberFormatsXLSX();
CPPUNIT_TEST_SUITE(Chart2ImportTest);
@@ -70,6 +71,7 @@ public:
CPPUNIT_TEST(testDelayedCellImport);
CPPUNIT_TEST(testFlatODSStackedColumnChart);
CPPUNIT_TEST(testChartAreaStyleBackgroundXLSX);
+ CPPUNIT_TEST(testAxisTextRotationXLSX);
CPPUNIT_TEST(testNumberFormatsXLSX);
CPPUNIT_TEST_SUITE_END();
@@ -406,6 +408,23 @@ void Chart2ImportTest::testChartAreaStyleBackgroundXLSX()
sal_Int32(0), nColor);
}
+void Chart2ImportTest::testAxisTextRotationXLSX()
+{
+ load("/chart2/qa/extras/data/xlsx/", "axis-label-rotation.xlsx");
+ uno::Reference<chart2::XChartDocument> xChartDoc = getChartDocFromSheet(0, mxComponent);
+ CPPUNIT_ASSERT_MESSAGE("failed to load chart", xChartDoc.is());
+
+ Reference<chart2::XAxis> xYAxis = getAxisFromDoc(xChartDoc, 0, 0, 0);
+ CPPUNIT_ASSERT(xYAxis.is());
+
+ Reference<beans::XPropertySet> xPS(xYAxis, uno::UNO_QUERY_THROW);
+ double nRotation = 0;
+ bool bSuccess = xPS->getPropertyValue("TextRotation") >>= nRotation;
+
+ CPPUNIT_ASSERT(bSuccess);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(90, nRotation, 1e-10);
+}
+
void Chart2ImportTest::testNumberFormatsXLSX()
{
diff --git a/chart2/qa/extras/charttest.hxx b/chart2/qa/extras/charttest.hxx
index b933b306cb37..ac753a275903 100644
--- a/chart2/qa/extras/charttest.hxx
+++ b/chart2/qa/extras/charttest.hxx
@@ -213,6 +213,27 @@ Reference< chart2::XChartType > getChartTypeFromDoc( Reference< chart2::XChartDo
return xChartTypeSequence[nChartType];
}
+Reference<chart2::XAxis> getAxisFromDoc(
+const Reference<chart2::XChartDocument>& xChartDoc, sal_Int32 nCooSys, sal_Int32 nAxisDim, sal_Int32 nAxisIndex )
+{
+ Reference<chart2::XDiagram> xDiagram = xChartDoc->getFirstDiagram();
+ CPPUNIT_ASSERT(xDiagram.is());
+
+ Reference<chart2::XCoordinateSystemContainer> xCooSysContainer(xDiagram, UNO_QUERY_THROW);
+ CPPUNIT_ASSERT(xCooSysContainer.is());
+
+ Sequence<Reference<chart2::XCoordinateSystem> > xCooSysSequence = xCooSysContainer->getCoordinateSystems();
+ CPPUNIT_ASSERT(xCooSysSequence.getLength() > nCooSys);
+
+ Reference<chart2::XCoordinateSystem> xCoord = xCooSysSequence[nCooSys];
+ CPPUNIT_ASSERT(xCoord.is());
+
+ Reference<chart2::XAxis> xAxis = xCoord->getAxisByDimension(nAxisDim, nAxisIndex);
+ CPPUNIT_ASSERT(xAxis.is());
+
+ return xAxis;
+}
+
Reference< chart2::XDataSeries > getDataSeriesFromDoc( uno::Reference< chart2::XChartDocument > xChartDoc,
sal_Int32 nDataSeries, sal_Int32 nChartType = 0, sal_Int32 nCooSys = 0 )
{
diff --git a/chart2/qa/extras/data/xlsx/axis-label-rotation.xlsx b/chart2/qa/extras/data/xlsx/axis-label-rotation.xlsx
new file mode 100644
index 000000000000..cc3b1df8a4eb
--- /dev/null
+++ b/chart2/qa/extras/data/xlsx/axis-label-rotation.xlsx
Binary files differ