[Libreoffice-commits] core.git: chart2/CppunitTest_chart2_import.mk chart2/qa

Vinaya Mandke vinaya.mandke at synerzip.com
Wed Oct 30 12:22:02 CET 2013


 chart2/CppunitTest_chart2_import.mk   |   13 ++
 chart2/qa/extras/chart2import.cxx     |  149 +++++++++++++++++++++++++++++++++-
 chart2/qa/extras/charttest.hxx        |   35 +++++++
 chart2/qa/extras/data/doc/chart.doc   |binary
 chart2/qa/extras/data/odp/chart.odp   |binary
 chart2/qa/extras/data/ods/chart.ods   |binary
 chart2/qa/extras/data/odt/chart.odt   |binary
 chart2/qa/extras/data/ppt/chart.ppt   |binary
 chart2/qa/extras/data/pptx/chart.pptx |binary
 chart2/qa/extras/data/xls/chart.xls   |binary
 chart2/qa/extras/data/xlsx/chart.xlsx |binary
 11 files changed, 190 insertions(+), 7 deletions(-)

New commits:
commit ce85ba3e2e926f72084cef2f18343f5f09f03152
Author: Vinaya Mandke <vinaya.mandke at synerzip.com>
Date:   Wed Oct 30 16:36:25 2013 +0530

    Unit tests for Chart Series Name
    
    Added UTS to verify the series names (Labels) for chart series for following-
        * xls, xlsx, ods
        * odt
    
    Change-Id: I4575a2e7ada9d4cf8b3fa708bd313f9d16244f65
    Change-Id: Id291b49bf7547ee7264eb7c0751e416d20ca1e54
    Reviewed-on: https://gerrit.libreoffice.org/6383
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/chart2/CppunitTest_chart2_import.mk b/chart2/CppunitTest_chart2_import.mk
index 4aa64c1..f702ea9 100644
--- a/chart2/CppunitTest_chart2_import.mk
+++ b/chart2/CppunitTest_chart2_import.mk
@@ -29,12 +29,15 @@ $(eval $(call gb_CppunitTest_use_libraries,chart2_import, \
     forui \
     i18nlangtag \
     msfilter \
+    vcl \
     oox \
     sal \
     salhelper \
     sax \
     sb \
     sc \
+    sw \
+    sd \
     sfx \
     sot \
     svl \
@@ -48,7 +51,6 @@ $(eval $(call gb_CppunitTest_use_libraries,chart2_import, \
     unotest \
     utl \
     vbahelper \
-    vcl \
     xo \
     $(gb_UWINAPI) \
 ))
@@ -66,11 +68,12 @@ $(eval $(call gb_CppunitTest_use_ure,chart2_import))
 
 $(eval $(call gb_CppunitTest_use_components,chart2_import,\
     basic/util/sb \
+    animations/source/animcore/animcore \
     chart2/source/controller/chartcontroller \
     chart2/source/chartcore \
     comphelper/util/comphelp \
     configmgr/source/configmgr \
-    dbaccess/util/dba \
+    dtrans/util/mcnttype \
     embeddedobj/util/embobj \
     eventattacher/source/evtatt \
     filter/source/config/cache/filterconfig1 \
@@ -86,6 +89,12 @@ $(eval $(call gb_CppunitTest_use_components,chart2_import,\
     sc/util/sc \
     sc/util/scd \
     sc/util/scfilt \
+    sw/util/sw \
+    sw/util/swd \
+    sw/util/msword \
+    sd/util/sd \
+    sd/util/sdfilt \
+    sd/util/sdd \
     $(if $(filter TRUE,$(DISABLE_SCRIPTING)),, \
 	    sc/util/vbaobj) \
     scaddins/source/analysis/analysis \
diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx
index ad10a1d..f20b834 100644
--- a/chart2/qa/extras/chart2import.cxx
+++ b/chart2/qa/extras/chart2import.cxx
@@ -7,10 +7,18 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#include "charttest.hxx"
 
+#include "charttest.hxx"
+#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
+#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
 #include <com/sun/star/chart2/CurveStyle.hpp>
 #include <com/sun/star/chart/ErrorBarStyle.hpp>
+#include <com/sun/star/chart2/XChartDocument.hpp>
+#include <com/sun/star/chart/XChartDocument.hpp>
+#include <com/sun/star/chart/XChartData.hpp>
+#include <com/sun/star/chart2/XInternalDataProvider.hpp>
+#include <com/sun/star/chart2/XAnyDescriptionAccess.hpp>
+#include <com/sun/star/chart/XChartDataArray.hpp>
 
 class Chart2ImportTest : public ChartTest
 {
@@ -18,11 +26,33 @@ public:
     void Fdo60083();
     void testSteppedLines();
     void testErrorBarRange();
+    void testODSChartSeries();
+    void testXLSXChartSeries();
+    void testXLSChartSeries();
+    void testODTChartSeries();
+    void testDOCChartSeries();
+    void testPPTXChartSeries();
+    void testPPTChartSeries();
+    void testODPChartSeries();
 
     CPPUNIT_TEST_SUITE(Chart2ImportTest);
     CPPUNIT_TEST(Fdo60083);
     CPPUNIT_TEST(testSteppedLines);
     CPPUNIT_TEST(testErrorBarRange);
+    CPPUNIT_TEST(testODSChartSeries);
+    CPPUNIT_TEST(testXLSXChartSeries);
+    CPPUNIT_TEST(testXLSChartSeries);
+    CPPUNIT_TEST(testODTChartSeries);
+    CPPUNIT_TEST(testDOCChartSeries);
+/*
+ *  Disabling Impress Uts.
+ *  ChartTest::tearDown() calls dispose of mxComponent
+ *  this causes the UT to crash in sd.
+ *  sd::DrawView::Notify tries to reset by calling sd::DrawViewShell::ResetActualPage
+ */
+//    CPPUNIT_TEST(testPPTChartSeries);
+//    CPPUNIT_TEST(testPPTXChartSeries);
+//    CPPUNIT_TEST(testODPChartSeries);
     CPPUNIT_TEST_SUITE_END();
 
 private:
@@ -150,6 +180,123 @@ void Chart2ImportTest::testSteppedLines()
     }
 }
 
+uno::Sequence < OUString > getChartColumnDescriptions( uno::Reference< chart::XChartDocument > xChart1Doc)
+{
+    CPPUNIT_ASSERT(xChart1Doc.is());
+    uno::Reference< chart::XChartDataArray > xChartData ( xChart1Doc->getData(), UNO_QUERY_THROW);
+    CPPUNIT_ASSERT(xChartData.is());
+    uno::Sequence < OUString > seriesList = xChartData->getColumnDescriptions();
+    return seriesList;
+}
+
+void Chart2ImportTest::testODSChartSeries()
+{
+    load("/chart2/qa/extras/data/ods/", "chart.ods");
+    uno::Reference< chart::XChartDocument > xChart1Doc ( getChartCompFromSheet( 0, mxComponent ), UNO_QUERY_THROW);
+    uno::Sequence < OUString > seriesList = getChartColumnDescriptions( xChart1Doc);
+    CPPUNIT_ASSERT_EQUAL(OUString("Col 1"), seriesList[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Col2"), seriesList[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Col 33"), seriesList[2]);
+
+}
+
+void Chart2ImportTest::testXLSXChartSeries()
+{
+    load("/chart2/qa/extras/data/xlsx/", "chart.xlsx");
+    uno::Reference< chart::XChartDocument > xChart1Doc ( getChartCompFromSheet( 0, mxComponent ), UNO_QUERY_THROW);
+    uno::Sequence < OUString > seriesList = getChartColumnDescriptions(xChart1Doc );
+    CPPUNIT_ASSERT_EQUAL(OUString("Col 1"), seriesList[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Col2"), seriesList[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Col 33"), seriesList[2]);
+
+}
+
+void Chart2ImportTest::testXLSChartSeries()
+{
+    load("/chart2/qa/extras/data/xls/", "chart.xls");
+    uno::Reference< chart::XChartDocument > xChart1Doc ( getChartCompFromSheet( 0, mxComponent ), UNO_QUERY_THROW);
+    uno::Sequence < OUString > seriesList = getChartColumnDescriptions(xChart1Doc );
+    CPPUNIT_ASSERT_EQUAL(OUString("Col 1"), seriesList[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Col 2"), seriesList[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Col 3"), seriesList[2]);
+
+}
+
+void Chart2ImportTest::testODTChartSeries()
+{
+    load("/chart2/qa/extras/data/odt/", "chart.odt");
+    uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(mxComponent, uno::UNO_QUERY);
+    uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage();
+    uno::Reference<drawing::XShape> xShape(xDrawPage->getByIndex(0), uno::UNO_QUERY);
+    CPPUNIT_ASSERT( xShape.is() );
+    uno::Reference<beans::XPropertySet> xPropertySet(xShape, uno::UNO_QUERY);
+    uno::Reference< chart2::XChartDocument > xChartDoc;
+    xChartDoc.set( xPropertySet->getPropertyValue( "Model" ), uno::UNO_QUERY );
+    CPPUNIT_ASSERT( xChartDoc.is() );
+    CPPUNIT_ASSERT( xChartDoc->getDataProvider().is() );
+    uno::Reference<beans::XPropertySet> xProp(xChartDoc->getDataProvider(), uno::UNO_QUERY );
+    uno::Reference< chart2::XAnyDescriptionAccess > xAnyDescriptionAccess ( xChartDoc->getDataProvider(), uno::UNO_QUERY_THROW );
+    CPPUNIT_ASSERT( xAnyDescriptionAccess.is() );
+    uno::Sequence< OUString > seriesList = xAnyDescriptionAccess->getColumnDescriptions();
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 1"), seriesList[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 2"), seriesList[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 3"), seriesList[2]);
+
+}
+
+void Chart2ImportTest::testDOCChartSeries()
+{
+    load("/chart2/qa/extras/data/doc/", "chart.doc");
+    uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(mxComponent, uno::UNO_QUERY);
+    uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage();
+    uno::Reference<drawing::XShape> xShape(xDrawPage->getByIndex(0), uno::UNO_QUERY);
+    CPPUNIT_ASSERT( xShape.is() );
+    uno::Reference<beans::XPropertySet> xPropertySet(xShape, uno::UNO_QUERY);
+    uno::Reference< chart2::XChartDocument > xChartDoc;
+    xChartDoc.set( xPropertySet->getPropertyValue( "Model" ), uno::UNO_QUERY );
+    CPPUNIT_ASSERT( xChartDoc.is() );
+    CPPUNIT_ASSERT( xChartDoc->getDataProvider().is() );
+    uno::Reference<beans::XPropertySet> xProp(xChartDoc->getDataProvider(), uno::UNO_QUERY );
+    uno::Reference< chart2::XAnyDescriptionAccess > xAnyDescriptionAccess ( xChartDoc->getDataProvider(), uno::UNO_QUERY_THROW );
+    CPPUNIT_ASSERT( xAnyDescriptionAccess.is() );
+    uno::Sequence< OUString > seriesList = xAnyDescriptionAccess->getColumnDescriptions();
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 1"), seriesList[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 2"), seriesList[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 3"), seriesList[2]);
+}
+
+
+void Chart2ImportTest::testPPTChartSeries()
+{
+    //test chart series names for ppt
+    uno::Sequence < OUString > seriesList = getImpressChartColumnDescriptions("/chart2/qa/extras/data/ppt/", "chart.ppt");
+
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 1"), seriesList[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 2"), seriesList[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 3"), seriesList[2]);
+
+}
+
+void Chart2ImportTest::testPPTXChartSeries()
+{
+    //test chart series names for pptx
+    uno::Sequence < OUString > seriesList = getImpressChartColumnDescriptions("/chart2/qa/extras/data/pptx/", "chart.pptx");
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 1"), seriesList[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 2"), seriesList[2]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 3"), seriesList[3]);
+
+}
+
+void Chart2ImportTest::testODPChartSeries()
+{
+    //test chart series names for odp
+    uno::Sequence < OUString > seriesList = getImpressChartColumnDescriptions("/chart2/qa/extras/data/odp/", "chart.odp");
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 1"), seriesList[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 2"), seriesList[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("Column 3"), seriesList[2]);
+
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ImportTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/chart2/qa/extras/charttest.hxx b/chart2/qa/extras/charttest.hxx
index 8934ddb..b33312c 100644
--- a/chart2/qa/extras/charttest.hxx
+++ b/chart2/qa/extras/charttest.hxx
@@ -33,7 +33,9 @@
 #include <com/sun/star/chart2/XChartTypeContainer.hpp>
 #include <com/sun/star/chart2/XCoordinateSystemContainer.hpp>
 #include <com/sun/star/chart2/XDataSeriesContainer.hpp>
-
+#include <com/sun/star/chart/XChartDataArray.hpp>
+#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
+#include <com/sun/star/chart/XChartDocument.hpp>
 #include <iostream>
 
 using namespace com::sun::star;
@@ -44,6 +46,7 @@ class ChartTest : public test::BootstrapFixture, public unotest::MacrosTest
 public:
     void load( const char* pDir, const char* pName );
     void reload( const OUString& rFilterName );
+    uno::Sequence < OUString > getImpressChartColumnDescriptions( const char* pDir, const char* pName );
 
     virtual void setUp();
     virtual void tearDown();
@@ -87,8 +90,7 @@ void ChartTest::tearDown()
     test::BootstrapFixture::tearDown();
 
 }
-
-Reference< chart2::XChartDocument > getChartDocFromSheet( sal_Int32 nSheet, uno::Reference< lang::XComponent > xComponent )
+Reference< lang::XComponent > getChartCompFromSheet( sal_Int32 nSheet, uno::Reference< lang::XComponent > xComponent )
 {
     // let us assume that we only have one chart per sheet
 
@@ -114,8 +116,12 @@ Reference< chart2::XChartDocument > getChartDocFromSheet( sal_Int32 nSheet, uno:
     uno::Reference< lang::XComponent > xChartComp( xEmbObjectSupplier->getEmbeddedObject(), UNO_QUERY_THROW );
     CPPUNIT_ASSERT(xChartComp.is());
 
-    uno::Reference< chart2::XChartDocument > xChartDoc ( xChartComp, UNO_QUERY_THROW );
+    return xChartComp;
 
+}
+Reference< chart2::XChartDocument > getChartDocFromSheet( sal_Int32 nSheet, uno::Reference< lang::XComponent > xComponent )
+{
+    uno::Reference< chart2::XChartDocument > xChartDoc ( getChartCompFromSheet(nSheet, xComponent), UNO_QUERY_THROW );
     CPPUNIT_ASSERT(xChartDoc.is());
     return xChartDoc;
 }
@@ -158,4 +164,25 @@ Reference< chart2::XDataSeries > getDataSeriesFromDoc( uno::Reference< chart2::X
     return xSeries;
 }
 
+
+uno::Sequence < OUString > ChartTest::getImpressChartColumnDescriptions( const char* pDir, const char* pName )
+{
+    mxComponent = loadFromDesktop(getURLFromSrc(pDir) + OUString::createFromAscii(pName), "com.sun.star.comp.Draw.PresentationDocument");
+    uno::Reference< drawing::XDrawPagesSupplier > xDoc(mxComponent, uno::UNO_QUERY_THROW );
+    uno::Reference< drawing::XDrawPage > xPage(
+        xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY_THROW );
+    CPPUNIT_ASSERT(xPage.is());
+    uno::Reference< beans::XPropertySet > xShapeProps(
+        xPage->getByIndex(0), uno::UNO_QUERY );
+    CPPUNIT_ASSERT(xShapeProps.is());
+    uno::Reference< frame::XModel > xDocModel;
+    xShapeProps->getPropertyValue("Model") >>= xDocModel;
+    CPPUNIT_ASSERT(xDocModel.is());
+    uno::Reference< chart::XChartDocument > xChart1Doc( xDocModel, uno::UNO_QUERY_THROW );
+    uno::Reference< chart::XChartDataArray > xChartData ( xChart1Doc->getData(), uno::UNO_QUERY_THROW);
+    CPPUNIT_ASSERT(xChartData.is());
+    uno::Sequence < OUString > seriesList = xChartData->getColumnDescriptions();
+    return seriesList;
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/qa/extras/data/doc/chart.doc b/chart2/qa/extras/data/doc/chart.doc
new file mode 100644
index 0000000..2bfa5ae
Binary files /dev/null and b/chart2/qa/extras/data/doc/chart.doc differ
diff --git a/chart2/qa/extras/data/odp/chart.odp b/chart2/qa/extras/data/odp/chart.odp
new file mode 100644
index 0000000..81a5f56
Binary files /dev/null and b/chart2/qa/extras/data/odp/chart.odp differ
diff --git a/chart2/qa/extras/data/ods/chart.ods b/chart2/qa/extras/data/ods/chart.ods
new file mode 100644
index 0000000..2a9916a
Binary files /dev/null and b/chart2/qa/extras/data/ods/chart.ods differ
diff --git a/chart2/qa/extras/data/odt/chart.odt b/chart2/qa/extras/data/odt/chart.odt
new file mode 100644
index 0000000..5f2dd34
Binary files /dev/null and b/chart2/qa/extras/data/odt/chart.odt differ
diff --git a/chart2/qa/extras/data/ppt/chart.ppt b/chart2/qa/extras/data/ppt/chart.ppt
new file mode 100644
index 0000000..0efffaf
Binary files /dev/null and b/chart2/qa/extras/data/ppt/chart.ppt differ
diff --git a/chart2/qa/extras/data/pptx/chart.pptx b/chart2/qa/extras/data/pptx/chart.pptx
new file mode 100644
index 0000000..8f11ea5
Binary files /dev/null and b/chart2/qa/extras/data/pptx/chart.pptx differ
diff --git a/chart2/qa/extras/data/xls/chart.xls b/chart2/qa/extras/data/xls/chart.xls
new file mode 100644
index 0000000..7c81d7f
Binary files /dev/null and b/chart2/qa/extras/data/xls/chart.xls differ
diff --git a/chart2/qa/extras/data/xlsx/chart.xlsx b/chart2/qa/extras/data/xlsx/chart.xlsx
new file mode 100644
index 0000000..193bfc4
Binary files /dev/null and b/chart2/qa/extras/data/xlsx/chart.xlsx differ


More information about the Libreoffice-commits mailing list