summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVinaya Mandke <vinaya.mandke@synerzip.com>2013-10-30 16:36:25 +0530
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-10-30 11:21:42 +0000
commitce85ba3e2e926f72084cef2f18343f5f09f03152 (patch)
tree873741ecb9d657b3901b46f5f59ae3eaa349c069
parent9239dc026ae31d38e495c7031b1e55cab4aebe9a (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>
-rw-r--r--chart2/CppunitTest_chart2_import.mk13
-rw-r--r--chart2/qa/extras/chart2import.cxx149
-rw-r--r--chart2/qa/extras/charttest.hxx35
-rw-r--r--chart2/qa/extras/data/doc/chart.docbin0 -> 15872 bytes
-rw-r--r--chart2/qa/extras/data/odp/chart.odpbin0 -> 14747 bytes
-rw-r--r--chart2/qa/extras/data/ods/chart.odsbin0 -> 12599 bytes
-rw-r--r--chart2/qa/extras/data/odt/chart.odtbin0 -> 13470 bytes
-rw-r--r--chart2/qa/extras/data/ppt/chart.pptbin0 -> 76800 bytes
-rw-r--r--chart2/qa/extras/data/pptx/chart.pptxbin0 -> 33393 bytes
-rw-r--r--chart2/qa/extras/data/xls/chart.xlsbin0 -> 7168 bytes
-rw-r--r--chart2/qa/extras/data/xlsx/chart.xlsxbin0 -> 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
new file mode 100644
index 000000000000..2bfa5aed2c77
--- /dev/null
+++ b/chart2/qa/extras/data/doc/chart.doc
Binary files differ
diff --git a/chart2/qa/extras/data/odp/chart.odp b/chart2/qa/extras/data/odp/chart.odp
new file mode 100644
index 000000000000..81a5f56b27de
--- /dev/null
+++ b/chart2/qa/extras/data/odp/chart.odp
Binary files differ
diff --git a/chart2/qa/extras/data/ods/chart.ods b/chart2/qa/extras/data/ods/chart.ods
new file mode 100644
index 000000000000..2a9916aca0c3
--- /dev/null
+++ b/chart2/qa/extras/data/ods/chart.ods
Binary files differ
diff --git a/chart2/qa/extras/data/odt/chart.odt b/chart2/qa/extras/data/odt/chart.odt
new file mode 100644
index 000000000000..5f2dd34d2a45
--- /dev/null
+++ b/chart2/qa/extras/data/odt/chart.odt
Binary files differ
diff --git a/chart2/qa/extras/data/ppt/chart.ppt b/chart2/qa/extras/data/ppt/chart.ppt
new file mode 100644
index 000000000000..0efffaf36a98
--- /dev/null
+++ b/chart2/qa/extras/data/ppt/chart.ppt
Binary files differ
diff --git a/chart2/qa/extras/data/pptx/chart.pptx b/chart2/qa/extras/data/pptx/chart.pptx
new file mode 100644
index 000000000000..8f11ea53d084
--- /dev/null
+++ b/chart2/qa/extras/data/pptx/chart.pptx
Binary files differ
diff --git a/chart2/qa/extras/data/xls/chart.xls b/chart2/qa/extras/data/xls/chart.xls
new file mode 100644
index 000000000000..7c81d7f49ef0
--- /dev/null
+++ b/chart2/qa/extras/data/xls/chart.xls
Binary files differ
diff --git a/chart2/qa/extras/data/xlsx/chart.xlsx b/chart2/qa/extras/data/xlsx/chart.xlsx
new file mode 100644
index 000000000000..193bfc49d5f3
--- /dev/null
+++ b/chart2/qa/extras/data/xlsx/chart.xlsx
Binary files differ