Kaydet (Commit) ce85ba3e authored tarafından Vinaya Mandke's avatar Vinaya Mandke Kaydeden (comit) Markus Mohrhard

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/6383Reviewed-by: 's avatarMarkus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: 's avatarMarkus Mohrhard <markus.mohrhard@googlemail.com>
üst 9239dc02
......@@ -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 \
......
......@@ -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();
......
......@@ -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: */
This diff was suppressed by a .gitattributes entry.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment