chart2/qa/extras/chart2import.cxx | 19 ++++++++++++++++++ chart2/qa/extras/charttest.hxx | 21 ++++++++++++++++++++ chart2/qa/extras/data/xlsx/axis-label-rotation.xlsx |binary oox/source/drawingml/chart/objectformatter.cxx | 2 - 4 files changed, 41 insertions(+), 1 deletion(-)
New commits: commit a9a77fdce2cfa8bcf95c0714614f486665935aa6 Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Thu Feb 19 01:03:48 2015 +0100 add test for tdf#89454 (cherry picked from commit b13534de022972131b46f93f5ada90af155eec9e) Conflicts: chart2/qa/extras/chart2import.cxx Change-Id: Iefb52f6fa77cf90955dbb47c1b9ca7ab699a43eb diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index f210c44..d9e9855 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 b933b30..ac753a2 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 0000000..cc3b1df Binary files /dev/null and b/chart2/qa/extras/data/xlsx/axis-label-rotation.xlsx differ commit f86e5d2559b25a864dd9dbb6fc4c7a006f9c2415 Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Thu Feb 19 00:36:49 2015 +0100 this should be [-90, 90] and not (-90, 90), tdf#89454 Change-Id: I943be2cf660d2dc77eebd776208af96c0b5f67a4 (cherry picked from commit 0d1bd8c4f12d4e60d1f33f7df0a201d2affb7767) diff --git a/oox/source/drawingml/chart/objectformatter.cxx b/oox/source/drawingml/chart/objectformatter.cxx index d27b18f..43efca0 100644 --- a/oox/source/drawingml/chart/objectformatter.cxx +++ b/oox/source/drawingml/chart/objectformatter.cxx @@ -1132,7 +1132,7 @@ void ObjectFormatter::convertTextRotation( PropertySet& rPropSet, const ModelRef OOXML counts clockwise, Chart2 counts counterclockwise. */ double fAngle = static_cast< double >( bStacked ? 0 : rxTextProp->getTextProperties().moRotation.get( 0 ) ); // MS Office UI allows values only in range of [-90,90]. - if ( fAngle <= -5400000.0 || fAngle >= 5400000.0 ) + if ( fAngle < -5400000.0 || fAngle > 5400000.0 ) { fAngle = 0.0; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits