summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorJens Carl <j.carl43@gmx.de>2017-12-01 01:00:41 +0000
committerJens Carl <j.carl43@gmx.de>2017-12-01 19:17:54 +0100
commit350eec67a5989365560e38e9270990dcd0a019e8 (patch)
treec758839bc70046a86b9f41f698750ed09117defa /sc
parentdccfe8765c25caf8485e659711a6df6c43ed63a9 (diff)
tdf#45904 Move _XMultipleOperation Java tests to C++
Change-Id: I102b726e673f69bfe64eff7e28e380dd6f15f1f8 Reviewed-on: https://gerrit.libreoffice.org/45629 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.cxx7
-rw-r--r--sc/qa/extras/sccellrangeobj.cxx42
-rw-r--r--sc/qa/extras/sctablesheetobj.cxx48
3 files changed, 71 insertions, 26 deletions
diff --git a/sc/qa/extras/sccellcursorobj.cxx b/sc/qa/extras/sccellcursorobj.cxx
index 26dcb3f86bc4..543b32123ba9 100644
--- a/sc/qa/extras/sccellcursorobj.cxx
+++ b/sc/qa/extras/sccellcursorobj.cxx
@@ -9,6 +9,7 @@
#include <test/calc_unoapi_test.hxx>
#include <test/sheet/xcellseries.hxx>
+#include <test/sheet/xmultipleoperation.hxx>
#include <test/sheet/xsheetcellrange.hxx>
#include <test/sheet/xsheetfilterable.hxx>
#include <test/sheet/xsheetfilterableex.hxx>
@@ -26,9 +27,10 @@ using namespace css::uno;
namespace sc_apitest {
-#define NUMBER_OF_TESTS 13
+#define NUMBER_OF_TESTS 14
class ScCellCursorObj : public CalcUnoApiTest, public apitest::XCellSeries,
+ public apitest::XMultipleOperation,
public apitest::XSheetCellRange,
public apitest::XSheetFilterable,
public apitest::XSheetFilterableEx,
@@ -51,6 +53,9 @@ public:
CPPUNIT_TEST(testGotoStartOfUsedArea);
CPPUNIT_TEST(testGotoEndOfUsedArea);
+ // XMultipleOperation
+ CPPUNIT_TEST(testSetTableOperation);
+
// XCellSeries
CPPUNIT_TEST(testFillAuto);
CPPUNIT_TEST(testFillSeries);
diff --git a/sc/qa/extras/sccellrangeobj.cxx b/sc/qa/extras/sccellrangeobj.cxx
index d3735b6ad518..8732137d447a 100644
--- a/sc/qa/extras/sccellrangeobj.cxx
+++ b/sc/qa/extras/sccellrangeobj.cxx
@@ -12,6 +12,7 @@
#include <test/sheet/xcellrangedata.hxx>
#include <test/sheet/xcellrangesquery.hxx>
#include <test/sheet/xcellseries.hxx>
+#include <test/sheet/xmultipleoperation.hxx>
#include <test/sheet/xsheetcellrange.hxx>
#include <test/sheet/xsheetfilterable.hxx>
#include <test/sheet/xsheetfilterableex.hxx>
@@ -43,12 +44,13 @@ using namespace css::uno;
namespace sc_apitest {
-#define NUMBER_OF_TESTS 26
+#define NUMBER_OF_TESTS 27
class ScCellRangeObj : public CalcUnoApiTest, public apitest::CellProperties,
public apitest::XCellRangeData,
public apitest::XCellRangesQuery,
public apitest::XCellSeries,
+ public apitest::XMultipleOperation,
public apitest::XReplaceable,
public apitest::XSearchable,
public apitest::XSheetCellRange,
@@ -70,47 +72,47 @@ public:
CPPUNIT_TEST_SUITE(ScCellRangeObj);
+ // CellProperties
+ CPPUNIT_TEST(testVertJustify);
+ CPPUNIT_TEST(testRotateReference);
+
+ // XCellSeries
+ CPPUNIT_TEST(testFillAuto);
+ CPPUNIT_TEST(testFillSeries);
+
+ // XCellRangeData
+ CPPUNIT_TEST(testGetDataArray);
+ CPPUNIT_TEST(testSetDataArray);
+
// XCellRangesQuery
CPPUNIT_TEST(testQueryColumnDifference);
CPPUNIT_TEST(testQueryContentDifference);
CPPUNIT_TEST(testQueryEmptyCells);
-
//CPPUNIT_TEST(testQueryFormulaCells);
CPPUNIT_TEST(testQueryIntersection);
CPPUNIT_TEST(testQueryRowDifference);
CPPUNIT_TEST(testQueryVisibleCells);
- // CellProperties
- CPPUNIT_TEST(testVertJustify);
- CPPUNIT_TEST(testRotateReference);
-
// XSearchable
CPPUNIT_TEST(testFindAll);
CPPUNIT_TEST(testFindFirst);
+ // XMultipleOperation
+ CPPUNIT_TEST(testSetTableOperation);
+
// XSheetCellRange
CPPUNIT_TEST(testGetSpreadsheet);
- // XSheetFilterableEx
- CPPUNIT_TEST(testCreateFilterDescriptorByObject);
-
// XReplaceable
CPPUNIT_TEST(testReplaceAll);
CPPUNIT_TEST(testCreateReplaceDescriptor);
- // XCellRangeData
- CPPUNIT_TEST(testGetDataArray);
- CPPUNIT_TEST(testSetDataArray);
-
- CPPUNIT_TEST(testSortOOB);
-
- // XCellSeries
- CPPUNIT_TEST(testFillAuto);
- CPPUNIT_TEST(testFillSeries);
-
// XUniqueCellFormatRangesSupplier
CPPUNIT_TEST(testGetUniqueCellFormatRanges);
+ // XSheetFilterableEx
+ CPPUNIT_TEST(testCreateFilterDescriptorByObject);
+
// XSheetOperation
CPPUNIT_TEST(testComputeFunction);
CPPUNIT_TEST(testClearContents);
@@ -119,6 +121,8 @@ public:
CPPUNIT_TEST(testCreateSubTotalDescriptor);
CPPUNIT_TEST(testApplyRemoveSubTotals);
+ CPPUNIT_TEST(testSortOOB);
+
// XSheetFilterable (has to be last tests; otherwise it'll crash)
CPPUNIT_TEST(testCreateFilterDescriptor);
CPPUNIT_TEST(testFilter);
diff --git a/sc/qa/extras/sctablesheetobj.cxx b/sc/qa/extras/sctablesheetobj.cxx
index b06765b539c8..b0839a691f55 100644
--- a/sc/qa/extras/sctablesheetobj.cxx
+++ b/sc/qa/extras/sctablesheetobj.cxx
@@ -9,6 +9,7 @@
#include <test/calc_unoapi_test.hxx>
#include <test/sheet/xcellseries.hxx>
+#include <test/sheet/xmultipleoperation.hxx>
#include <test/sheet/xprintareas.hxx>
#include <test/sheet/xscenarioenhanced.hxx>
#include <test/sheet/xscenariossupplier.hxx>
@@ -40,6 +41,7 @@ namespace sc_apitest
#define NUMBER_OF_TESTS 31
class ScTableSheetObj : public CalcUnoApiTest, public apitest::XCellSeries,
+ public apitest::XMultipleOperation,
public apitest::XPrintAreas,
public apitest::XReplaceable,
public apitest::XScenarioEnhanced,
@@ -75,6 +77,16 @@ public:
CPPUNIT_TEST(testFillAuto);
CPPUNIT_TEST(testFillSeries);
+ // XSearchable
+ CPPUNIT_TEST(testFindAll);
+ CPPUNIT_TEST(testFindNext);
+ CPPUNIT_TEST(testFindFirst);
+
+ // XMultipleOperation
+#if 0 // disable, because test never finishes (see i87863)
+ CPPUNIT_TEST(testSetTableOperation);
+#endif
+
// XPrintAreas
CPPUNIT_TEST(testSetAndGetPrintTitleColumns);
CPPUNIT_TEST(testSetAndGetPrintTitleRows);
@@ -89,11 +101,6 @@ public:
// XScenariosSupplier
CPPUNIT_TEST(testGetScenarios);
- // XSearchable
- CPPUNIT_TEST(testFindAll);
- CPPUNIT_TEST(testFindNext);
- CPPUNIT_TEST(testFindFirst);
-
// XSheetAnnotationsSupplier
CPPUNIT_TEST(testGetAnnotations);
@@ -112,7 +119,7 @@ public:
CPPUNIT_TEST(testFilter);
// XSheetFilterableEx
-#if 0 // temporarily disabled, takes too long
+#if 0 // temporarily disabled, takes too long (see i87876)
CPPUNIT_TEST(testCreateFilterDescriptorByObject);
#endif
@@ -170,6 +177,10 @@ uno::Reference< uno::XInterface > ScTableSheetObj::init()
uno::Reference< container::XIndexAccess > xIndex (xDoc->getSheets(), UNO_QUERY_THROW);
uno::Reference< sheet::XSpreadsheet > xSheet( xIndex->getByIndex(0), UNO_QUERY_THROW);
+ xSheet->getCellByPosition(5 ,5)->setValue(15);
+ xSheet->getCellByPosition(2 ,0)->setValue(-5.15);
+ xSheet->getCellByPosition(2 ,0)->setFormula("= B5 + C1");
+
xSheet->getCellByPosition(6, 6)->setValue(3);
xSheet->getCellByPosition(7, 6)->setValue(3);
xSheet->getCellByPosition(8, 6)->setFormula("= SUM(G7:H7)");
@@ -197,6 +208,15 @@ uno::Reference<uno::XInterface> ScTableSheetObj::getScenarioSpreadsheet()
uno::Reference<container::XIndexAccess> xIndex (xDoc->getSheets(), UNO_QUERY_THROW);
uno::Reference<sheet::XSpreadsheet> xSheet(xIndex->getByIndex(0), UNO_QUERY_THROW);
+ xSheet->getCellByPosition(5 ,5)->setValue(15);
+ xSheet->getCellByPosition(2 ,0)->setValue(-5.15);
+ xSheet->getCellByPosition(2 ,0)->setFormula("= B5 + C1");
+
+ xSheet->getCellByPosition(6, 6)->setValue(3);
+ xSheet->getCellByPosition(7, 6)->setValue(3);
+ xSheet->getCellByPosition(8, 6)->setFormula("= SUM(G7:H7)");
+ xSheet->getCellByPosition(9, 6)->setFormula("= G7*I7");
+
uno::Sequence<table::CellRangeAddress> aCellRangeAddr(1);
aCellRangeAddr[0] = table::CellRangeAddress(0, 0, 0, 10, 10);
@@ -215,9 +235,25 @@ uno::Reference< uno::XInterface > ScTableSheetObj::getXSpreadsheet()
CPPUNIT_ASSERT_MESSAGE("no calc document", mxComponent.is());
uno::Reference< sheet::XSpreadsheetDocument > xDoc(mxComponent, UNO_QUERY_THROW);
+ uno::Reference<sheet::XSpreadsheets> xSheets(xDoc->getSheets(), UNO_QUERY_THROW);
+
uno::Reference< container::XIndexAccess > xIndex (xDoc->getSheets(), UNO_QUERY_THROW);
uno::Reference< sheet::XSpreadsheet > xSheet( xIndex->getByIndex(0), UNO_QUERY_THROW);
+ xSheet->getCellByPosition(5 ,5)->setValue(15);
+ xSheet->getCellByPosition(2 ,0)->setValue(-5.15);
+ xSheet->getCellByPosition(2 ,0)->setFormula("= B5 + C1");
+
+ xSheet->getCellByPosition(6, 6)->setValue(3);
+ xSheet->getCellByPosition(7, 6)->setValue(3);
+ xSheet->getCellByPosition(8, 6)->setFormula("= SUM(G7:H7)");
+ xSheet->getCellByPosition(9, 6)->setFormula("= G7*I7");
+
+ uno::Sequence<table::CellRangeAddress> aCellRangeAddr(1);
+ aCellRangeAddr[0] = table::CellRangeAddress(0, 0, 0, 10, 10);
+ uno::Reference<sheet::XScenariosSupplier> xScence(xSheet, UNO_QUERY_THROW);
+ xScence->getScenarios()->addNewByName("Scenario", aCellRangeAddr, "Comment");
+ xSheets->getByName("Scenario");
return xSheet;
}