summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorJens Carl <j.carl43@gmx.de>2017-11-23 07:24:25 +0000
committerJens Carl <j.carl43@gmx.de>2017-11-23 09:51:49 +0100
commita8681f24d786a5498844e29a3029cf9e60e74ca3 (patch)
tree5bc2d0c5250bbfacda1b0fcc8260ad195521029b /sc
parentd3c607b4bbcc1727ba0d295ac7193bea2874ed5b (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.cxx40
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);