diff options
author | Vinaya Mandke <vinaya.mandke@synerzip.com> | 2013-10-30 16:36:25 +0530 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-10-30 11:21:42 +0000 |
commit | ce85ba3e2e926f72084cef2f18343f5f09f03152 (patch) | |
tree | 873741ecb9d657b3901b46f5f59ae3eaa349c069 /chart2 | |
parent | 9239dc026ae31d38e495c7031b1e55cab4aebe9a (diff) |
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@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/CppunitTest_chart2_import.mk | 13 | ||||
-rw-r--r-- | chart2/qa/extras/chart2import.cxx | 149 | ||||
-rw-r--r-- | chart2/qa/extras/charttest.hxx | 35 | ||||
-rw-r--r-- | chart2/qa/extras/data/doc/chart.doc | bin | 0 -> 15872 bytes | |||
-rw-r--r-- | chart2/qa/extras/data/odp/chart.odp | bin | 0 -> 14747 bytes | |||
-rw-r--r-- | chart2/qa/extras/data/ods/chart.ods | bin | 0 -> 12599 bytes | |||
-rw-r--r-- | chart2/qa/extras/data/odt/chart.odt | bin | 0 -> 13470 bytes | |||
-rw-r--r-- | chart2/qa/extras/data/ppt/chart.ppt | bin | 0 -> 76800 bytes | |||
-rw-r--r-- | chart2/qa/extras/data/pptx/chart.pptx | bin | 0 -> 33393 bytes | |||
-rw-r--r-- | chart2/qa/extras/data/xls/chart.xls | bin | 0 -> 7168 bytes | |||
-rw-r--r-- | chart2/qa/extras/data/xlsx/chart.xlsx | bin | 0 -> 7055 bytes |
11 files changed, 190 insertions, 7 deletions
diff --git a/chart2/CppunitTest_chart2_import.mk b/chart2/CppunitTest_chart2_import.mk index 4aa64c170ec0..f702ea99aa56 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 ad10a1d5630e..f20b834fb7c5 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 8934ddb3c026..b33312c00422 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 Binary files differnew file mode 100644 index 000000000000..2bfa5aed2c77 --- /dev/null +++ b/chart2/qa/extras/data/doc/chart.doc diff --git a/chart2/qa/extras/data/odp/chart.odp b/chart2/qa/extras/data/odp/chart.odp Binary files differnew file mode 100644 index 000000000000..81a5f56b27de --- /dev/null +++ b/chart2/qa/extras/data/odp/chart.odp diff --git a/chart2/qa/extras/data/ods/chart.ods b/chart2/qa/extras/data/ods/chart.ods Binary files differnew file mode 100644 index 000000000000..2a9916aca0c3 --- /dev/null +++ b/chart2/qa/extras/data/ods/chart.ods diff --git a/chart2/qa/extras/data/odt/chart.odt b/chart2/qa/extras/data/odt/chart.odt Binary files differnew file mode 100644 index 000000000000..5f2dd34d2a45 --- /dev/null +++ b/chart2/qa/extras/data/odt/chart.odt diff --git a/chart2/qa/extras/data/ppt/chart.ppt b/chart2/qa/extras/data/ppt/chart.ppt Binary files differnew file mode 100644 index 000000000000..0efffaf36a98 --- /dev/null +++ b/chart2/qa/extras/data/ppt/chart.ppt diff --git a/chart2/qa/extras/data/pptx/chart.pptx b/chart2/qa/extras/data/pptx/chart.pptx Binary files differnew file mode 100644 index 000000000000..8f11ea53d084 --- /dev/null +++ b/chart2/qa/extras/data/pptx/chart.pptx diff --git a/chart2/qa/extras/data/xls/chart.xls b/chart2/qa/extras/data/xls/chart.xls Binary files differnew file mode 100644 index 000000000000..7c81d7f49ef0 --- /dev/null +++ b/chart2/qa/extras/data/xls/chart.xls diff --git a/chart2/qa/extras/data/xlsx/chart.xlsx b/chart2/qa/extras/data/xlsx/chart.xlsx Binary files differnew file mode 100644 index 000000000000..193bfc49d5f3 --- /dev/null +++ b/chart2/qa/extras/data/xlsx/chart.xlsx |