[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.2' - 2 commits - chart2/qa oox/source

Markus Mohrhard markus.mohrhard at collabora.co.uk
Thu Feb 19 03:37:37 PST 2015


 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 4f0721028edc311a99a5593fbdc658c31fea9c1a
Author: Markus Mohrhard <markus.mohrhard at 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 2a684ed..f0ab606 100644
--- a/chart2/qa/extras/chart2import.cxx
+++ b/chart2/qa/extras/chart2import.cxx
@@ -36,6 +36,7 @@ public:
     void testPPTChartSeries();
     void testODPChartSeries();
     void testChartAreaStyleBackgroundXLSX();
+    void testAxisTextRotationXLSX();
     void testNumberFormatsXLSX();
 
     CPPUNIT_TEST_SUITE(Chart2ImportTest);
@@ -58,6 +59,7 @@ public:
 //    CPPUNIT_TEST(testPPTXChartSeries);
 //    CPPUNIT_TEST(testODPChartSeries);
     CPPUNIT_TEST(testChartAreaStyleBackgroundXLSX);
+    CPPUNIT_TEST(testAxisTextRotationXLSX);
     CPPUNIT_TEST(testNumberFormatsXLSX);
     CPPUNIT_TEST_SUITE_END();
 
@@ -317,6 +319,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 216c915..05575a1 100644
--- a/chart2/qa/extras/charttest.hxx
+++ b/chart2/qa/extras/charttest.hxx
@@ -158,6 +158,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 381819692937defbd565f351ad9100ed38d1fc57
Author: Markus Mohrhard <markus.mohrhard at 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 d6cd258..ac5b875 100644
--- a/oox/source/drawingml/chart/objectformatter.cxx
+++ b/oox/source/drawingml/chart/objectformatter.cxx
@@ -1110,7 +1110,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;
         }


More information about the Libreoffice-commits mailing list