diff options
author | Jens Carl <j.carl43@gmx.de> | 2017-11-23 07:24:25 +0000 |
---|---|---|
committer | Jens Carl <j.carl43@gmx.de> | 2017-11-23 09:51:49 +0100 |
commit | a8681f24d786a5498844e29a3029cf9e60e74ca3 (patch) | |
tree | 5bc2d0c5250bbfacda1b0fcc8260ad195521029b /sc | |
parent | d3c607b4bbcc1727ba0d295ac7193bea2874ed5b (diff) |
tdf#45904 Move _XScenarioEnhanced Java test to C++
Change-Id: Ibc99dc0d50e612bc6cdebaf5f9c5f828e5af859f
Reviewed-on: https://gerrit.libreoffice.org/45123
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jens Carl <j.carl43@gmx.de>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/qa/extras/sctablesheetobj.cxx | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/sc/qa/extras/sctablesheetobj.cxx b/sc/qa/extras/sctablesheetobj.cxx index 27fb9a297fb4..b06765b539c8 100644 --- a/sc/qa/extras/sctablesheetobj.cxx +++ b/sc/qa/extras/sctablesheetobj.cxx @@ -10,6 +10,7 @@ #include <test/calc_unoapi_test.hxx> #include <test/sheet/xcellseries.hxx> #include <test/sheet/xprintareas.hxx> +#include <test/sheet/xscenarioenhanced.hxx> #include <test/sheet/xscenariossupplier.hxx> #include <test/sheet/xsheetannotationssupplier.hxx> #include <test/sheet/xsheetauditing.hxx> @@ -25,8 +26,10 @@ #include <test/util/xreplaceable.hxx> #include <test/util/xsearchable.hxx> +#include <com/sun/star/sheet/XScenariosSupplier.hpp> #include <com/sun/star/sheet/XSpreadsheetDocument.hpp> #include <com/sun/star/sheet/XSpreadsheet.hpp> +#include <com/sun/star/table/CellRangeAddress.hpp> using namespace css; using namespace css::uno; @@ -34,11 +37,12 @@ using namespace css::uno; namespace sc_apitest { -#define NUMBER_OF_TESTS 30 +#define NUMBER_OF_TESTS 31 class ScTableSheetObj : public CalcUnoApiTest, public apitest::XCellSeries, public apitest::XPrintAreas, public apitest::XReplaceable, + public apitest::XScenarioEnhanced, public apitest::XScenariosSupplier, public apitest::XSearchable, public apitest::XSheetAnnotationsSupplier, @@ -63,6 +67,7 @@ public: virtual uno::Reference< uno::XInterface > init() override; virtual uno::Reference< uno::XInterface > getXSpreadsheet() override; + virtual uno::Reference< uno::XInterface > getScenarioSpreadsheet() override; CPPUNIT_TEST_SUITE(ScTableSheetObj); @@ -78,6 +83,9 @@ public: CPPUNIT_TEST(testReplaceAll); CPPUNIT_TEST(testCreateReplaceDescriptor); + // XScenarioEnhanced + CPPUNIT_TEST(testGetRanges); + // XScenariosSupplier CPPUNIT_TEST(testGetScenarios); @@ -158,6 +166,7 @@ uno::Reference< uno::XInterface > ScTableSheetObj::init() 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); @@ -166,9 +175,38 @@ uno::Reference< uno::XInterface > ScTableSheetObj::init() 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; } +uno::Reference<uno::XInterface> ScTableSheetObj::getScenarioSpreadsheet() +{ + createFileURL("ScTableSheetObj.ods", maFileURL); + if (!mxComponent.is()) + mxComponent = loadFromDesktop(maFileURL, "com.sun.star.sheet.SpreadsheetDocument"); + 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); + + 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"); + uno::Reference<sheet::XSpreadsheet> sSheet(xSheets->getByName("Scenario"), UNO_QUERY_THROW); + + return sSheet; +} + uno::Reference< uno::XInterface > ScTableSheetObj::getXSpreadsheet() { createFileURL("ScTableSheetObj.ods", maFileURL); |