summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorJens Carl <j.carl43@gmx.de>2017-11-08 21:15:09 +0000
committerJens Carl <j.carl43@gmx.de>2017-11-09 09:32:21 +0100
commitf1c97e9ff63cb6f120e618b3202260e0f8aefa0e (patch)
tree86f8615a49a91ab7042e8e0b98ab04a8000232f4 /sc
parentfb72ec9b6222c8a18445c078c0367e7d507720af (diff)
tdf#45904 Move Java _XSheetFilterableEx tests to C++
Convert the Java _XSheetFilterableEx tests to C++ and make changes to the XSubTotalCalculatable::::testApplyRemoveSubTotals(), because XSheetFilterableEx::testCreateFilterDescriptorByObject() has to work with the same sheet. Change-Id: I89c11bc8f10ec8d2ff4b170aeb9df5a00ca98133 Reviewed-on: https://gerrit.libreoffice.org/44512 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jens Carl <j.carl43@gmx.de>
Diffstat (limited to 'sc')
-rw-r--r--sc/qa/extras/sccellcursorobj.cxx26
-rw-r--r--sc/qa/extras/sccellrangeobj.cxx8
-rw-r--r--sc/qa/extras/sctablesheetobj.cxx19
3 files changed, 35 insertions, 18 deletions
diff --git a/sc/qa/extras/sccellcursorobj.cxx b/sc/qa/extras/sccellcursorobj.cxx
index f5663714b7be..26dcb3f86bc4 100644
--- a/sc/qa/extras/sccellcursorobj.cxx
+++ b/sc/qa/extras/sccellcursorobj.cxx
@@ -11,6 +11,7 @@
#include <test/sheet/xcellseries.hxx>
#include <test/sheet/xsheetcellrange.hxx>
#include <test/sheet/xsheetfilterable.hxx>
+#include <test/sheet/xsheetfilterableex.hxx>
#include <test/sheet/xsheetoperation.hxx>
#include <test/sheet/xsubtotalcalculatable.hxx>
#include <test/sheet/xusedareacursor.hxx>
@@ -25,11 +26,12 @@ using namespace css::uno;
namespace sc_apitest {
-#define NUMBER_OF_TESTS 12
+#define NUMBER_OF_TESTS 13
class ScCellCursorObj : public CalcUnoApiTest, public apitest::XCellSeries,
public apitest::XSheetCellRange,
public apitest::XSheetFilterable,
+ public apitest::XSheetFilterableEx,
public apitest::XSheetOperation,
public apitest::XSubTotalCalculatable,
public apitest::XUsedAreaCursor,
@@ -60,6 +62,9 @@ public:
CPPUNIT_TEST(testCreateFilterDescriptor);
CPPUNIT_TEST(testFilter);
+ // XSheetFilterableEx
+ CPPUNIT_TEST(testCreateFilterDescriptorByObject);
+
// XSheetOperation
CPPUNIT_TEST(testComputeFunction);
CPPUNIT_TEST(testClearContents);
@@ -91,14 +96,17 @@ uno::Reference< uno::XInterface > ScCellCursorObj::init()
{
OUString aFileURL;
createFileURL("ScCellCursorObj.ods", aFileURL);
- if(!mxComponent.is())
+ if (!mxComponent.is())
mxComponent = loadFromDesktop(aFileURL, "com.sun.star.sheet.SpreadsheetDocument");
- CPPUNIT_ASSERT(mxComponent.is());
+ CPPUNIT_ASSERT_MESSAGE("no calc document", mxComponent.is());
- uno::Reference< sheet::XSpreadsheetDocument > xDoc(mxComponent, UNO_QUERY_THROW);
- uno::Reference< container::XIndexAccess > xIndex (xDoc->getSheets(), UNO_QUERY_THROW);
- uno::Reference< sheet::XSpreadsheet > xSheet( xIndex->getByIndex(0), UNO_QUERY_THROW);
- uno::Reference< table::XCellCursor > xCellCursor( xSheet->createCursor(), UNO_QUERY_THROW);
+ uno::Reference<sheet::XSpreadsheetDocument> xDoc(mxComponent, UNO_QUERY_THROW);
+ uno::Reference<container::XIndexAccess> xIndex (xDoc->getSheets(), UNO_QUERY_THROW);
+ uno::Reference<sheet::XSpreadsheet> xSheet(xIndex->getByIndex(0), UNO_QUERY_THROW);
+
+ uno::Reference<table::XCellRange> xCellRange = xSheet->getCellRangeByName("$A$1:$D$4");
+ uno::Reference<sheet::XSheetCellRange> xSheetCellRange(xCellRange, UNO_QUERY_THROW);
+ uno::Reference<table::XCellCursor> xCellCursor(xSheet->createCursorByRange(xSheetCellRange), UNO_QUERY_THROW);
return xCellCursor;
}
@@ -107,9 +115,9 @@ uno::Reference< uno::XInterface > ScCellCursorObj::getXSpreadsheet()
{
OUString aFileURL;
createFileURL("ScCellCursorObj.ods", aFileURL);
- if(!mxComponent.is())
+ if (!mxComponent.is())
mxComponent = loadFromDesktop(aFileURL, "com.sun.star.sheet.SpreadsheetDocument");
- CPPUNIT_ASSERT(mxComponent.is());
+ CPPUNIT_ASSERT_MESSAGE("no calc document", mxComponent.is());
uno::Reference< sheet::XSpreadsheetDocument > xDoc(mxComponent, UNO_QUERY_THROW);
uno::Reference< container::XIndexAccess > xIndex (xDoc->getSheets(), UNO_QUERY_THROW);
diff --git a/sc/qa/extras/sccellrangeobj.cxx b/sc/qa/extras/sccellrangeobj.cxx
index 49477e137e4c..d3735b6ad518 100644
--- a/sc/qa/extras/sccellrangeobj.cxx
+++ b/sc/qa/extras/sccellrangeobj.cxx
@@ -14,6 +14,7 @@
#include <test/sheet/xcellseries.hxx>
#include <test/sheet/xsheetcellrange.hxx>
#include <test/sheet/xsheetfilterable.hxx>
+#include <test/sheet/xsheetfilterableex.hxx>
#include <test/sheet/xsheetoperation.hxx>
#include <test/sheet/xsubtotalcalculatable.hxx>
#include <test/sheet/xuniquecellformatrangessupplier.hxx>
@@ -36,12 +37,13 @@
#include <com/sun/star/table/XTableRows.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/uno/Sequence.hxx>
+
using namespace css;
using namespace css::uno;
namespace sc_apitest {
-#define NUMBER_OF_TESTS 25
+#define NUMBER_OF_TESTS 26
class ScCellRangeObj : public CalcUnoApiTest, public apitest::CellProperties,
public apitest::XCellRangeData,
@@ -51,6 +53,7 @@ class ScCellRangeObj : public CalcUnoApiTest, public apitest::CellProperties,
public apitest::XSearchable,
public apitest::XSheetCellRange,
public apitest::XSheetFilterable,
+ public apitest::XSheetFilterableEx,
public apitest::XSheetOperation,
public apitest::XSubTotalCalculatable,
public apitest::XUniqueCellFormatRangesSupplier
@@ -88,6 +91,9 @@ public:
// XSheetCellRange
CPPUNIT_TEST(testGetSpreadsheet);
+ // XSheetFilterableEx
+ CPPUNIT_TEST(testCreateFilterDescriptorByObject);
+
// XReplaceable
CPPUNIT_TEST(testReplaceAll);
CPPUNIT_TEST(testCreateReplaceDescriptor);
diff --git a/sc/qa/extras/sctablesheetobj.cxx b/sc/qa/extras/sctablesheetobj.cxx
index 5f954cc5e66d..a1f836e7091a 100644
--- a/sc/qa/extras/sctablesheetobj.cxx
+++ b/sc/qa/extras/sctablesheetobj.cxx
@@ -12,6 +12,7 @@
#include <test/sheet/xprintareas.hxx>
#include <test/sheet/xsheetcellrange.hxx>
#include <test/sheet/xsheetfilterable.hxx>
+#include <test/sheet/xsheetfilterableex.hxx>
#include <test/sheet/xsheetlinkable.hxx>
#include <test/sheet/xsheetoperation.hxx>
#include <test/sheet/xsheetpagebreak.hxx>
@@ -30,7 +31,7 @@ using namespace css::uno;
namespace sc_apitest
{
-#define NUMBER_OF_TESTS 23
+#define NUMBER_OF_TESTS 24
class ScTableSheetObj : public CalcUnoApiTest, public apitest::XCellSeries,
public apitest::XPrintAreas,
@@ -38,6 +39,7 @@ class ScTableSheetObj : public CalcUnoApiTest, public apitest::XCellSeries,
public apitest::XSearchable,
public apitest::XSheetCellRange,
public apitest::XSheetFilterable,
+ public apitest::XSheetFilterableEx,
public apitest::XSheetLinkable,
public apitest::XSheetOperation,
public apitest::XSheetPageBreak,
@@ -82,6 +84,9 @@ public:
CPPUNIT_TEST(testCreateFilterDescriptor);
CPPUNIT_TEST(testFilter);
+ // XSheetFilterableEx
+ CPPUNIT_TEST(testCreateFilterDescriptorByObject);
+
// XSheetLinkable
CPPUNIT_TEST(testSheetLinkable);
@@ -126,9 +131,8 @@ ScTableSheetObj::ScTableSheetObj():
uno::Reference< uno::XInterface > ScTableSheetObj::init()
{
- //OUString aFileURL;
createFileURL("ScTableSheetObj.ods", maFileURL);
- if(!mxComponent.is())
+ if (!mxComponent.is())
mxComponent = loadFromDesktop(maFileURL, "com.sun.star.sheet.SpreadsheetDocument");
CPPUNIT_ASSERT(mxComponent.is());
@@ -141,15 +145,14 @@ uno::Reference< uno::XInterface > ScTableSheetObj::init()
uno::Reference< uno::XInterface > ScTableSheetObj::getXSpreadsheet()
{
- OUString aFileURL;
- createFileURL("ScTableSheetObj.ods", aFileURL);
- if(!mxComponent.is())
- mxComponent = loadFromDesktop(aFileURL, "com.sun.star.sheet.SpreadsheetDocument");
+ createFileURL("ScTableSheetObj.ods", maFileURL);
+ if (!mxComponent.is())
+ mxComponent = loadFromDesktop(maFileURL, "com.sun.star.sheet.SpreadsheetDocument");
CPPUNIT_ASSERT(mxComponent.is());
uno::Reference< sheet::XSpreadsheetDocument > xDoc(mxComponent, UNO_QUERY_THROW);
uno::Reference< container::XIndexAccess > xIndex (xDoc->getSheets(), UNO_QUERY_THROW);
- uno::Reference< sheet::XSpreadsheet > xSheet( xIndex->getByIndex(1), UNO_QUERY_THROW);
+ uno::Reference< sheet::XSpreadsheet > xSheet( xIndex->getByIndex(0), UNO_QUERY_THROW);
return xSheet;
}