summaryrefslogtreecommitdiffstats
path: root/include/test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /include/test
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--include/test/beans/xpropertyset.hxx74
-rw-r--r--include/test/bootstrapfixture.hxx73
-rw-r--r--include/test/calc_unoapi_test.hxx31
-rw-r--r--include/test/callgrind.hxx21
-rw-r--r--include/test/chart/xchartdata.hxx35
-rw-r--r--include/test/container/xchild.hxx34
-rw-r--r--include/test/container/xelementaccess.hxx46
-rw-r--r--include/test/container/xenumeration.hxx36
-rw-r--r--include/test/container/xenumerationaccess.hxx34
-rw-r--r--include/test/container/xindexaccess.hxx46
-rw-r--r--include/test/container/xnameaccess.hxx46
-rw-r--r--include/test/container/xnamecontainer.hxx60
-rw-r--r--include/test/container/xnamed.hxx49
-rw-r--r--include/test/container/xnamereplace.hxx48
-rw-r--r--include/test/cppunitasserthelper.hxx104
-rw-r--r--include/test/document/xactionlockable.hxx36
-rw-r--r--include/test/document/xembeddedobjectsupplier.hxx35
-rw-r--r--include/test/document/xlinktargetsupplier.hxx34
-rw-r--r--include/test/drawing/captionshape.hxx33
-rw-r--r--include/test/drawing/xdrawpages.hxx37
-rw-r--r--include/test/drawing/xgluepointssupplier.hxx33
-rw-r--r--include/test/drawing/xshape.hxx42
-rw-r--r--include/test/drawing/xshapedescriptor.hxx40
-rw-r--r--include/test/drawing/xshapegrouper.hxx44
-rw-r--r--include/test/drawing/xshapes.hxx43
-rw-r--r--include/test/helper/form.hxx64
-rw-r--r--include/test/helper/shape.hxx92
-rw-r--r--include/test/helper/transferable.hxx29
-rw-r--r--include/test/htmltesttools.hxx32
-rw-r--r--include/test/lang/xcomponent.hxx39
-rw-r--r--include/test/lang/xserviceinfo.hxx55
-rw-r--r--include/test/lokcallback.hxx62
-rw-r--r--include/test/screenshot_test.hxx96
-rw-r--r--include/test/sheet/cellarealink.hxx47
-rw-r--r--include/test/sheet/cellproperties.hxx34
-rw-r--r--include/test/sheet/databaseimportdescriptor.hxx35
-rw-r--r--include/test/sheet/databaserange.hxx43
-rw-r--r--include/test/sheet/datapilotfield.hxx36
-rw-r--r--include/test/sheet/datapilotitem.hxx33
-rw-r--r--include/test/sheet/documentsettings.hxx34
-rw-r--r--include/test/sheet/functiondescription.hxx34
-rw-r--r--include/test/sheet/globalsheetsettings.hxx34
-rw-r--r--include/test/sheet/scenario.hxx34
-rw-r--r--include/test/sheet/shape.hxx36
-rw-r--r--include/test/sheet/sheetcell.hxx34
-rw-r--r--include/test/sheet/sheetcellrange.hxx34
-rw-r--r--include/test/sheet/sheetcellranges.hxx34
-rw-r--r--include/test/sheet/sheetfilterdescriptor.hxx34
-rw-r--r--include/test/sheet/sheetlink.hxx34
-rw-r--r--include/test/sheet/sheetsortdescriptor2.hxx34
-rw-r--r--include/test/sheet/spreadsheet.hxx35
-rw-r--r--include/test/sheet/spreadsheetdocumentsettings.hxx34
-rw-r--r--include/test/sheet/spreadsheetviewsettings.hxx34
-rw-r--r--include/test/sheet/subtotaldescriptor.hxx34
-rw-r--r--include/test/sheet/tableautoformat.hxx34
-rw-r--r--include/test/sheet/tablevalidation.hxx34
-rw-r--r--include/test/sheet/xactivationbroadcaster.hxx36
-rw-r--r--include/test/sheet/xarealink.hxx34
-rw-r--r--include/test/sheet/xarealinks.hxx36
-rw-r--r--include/test/sheet/xarrayformularange.hxx32
-rw-r--r--include/test/sheet/xcalculatable.hxx39
-rw-r--r--include/test/sheet/xcelladdressable.hxx31
-rw-r--r--include/test/sheet/xcellformatrangessupplier.hxx34
-rw-r--r--include/test/sheet/xcellrangeaddressable.hxx34
-rw-r--r--include/test/sheet/xcellrangedata.hxx36
-rw-r--r--include/test/sheet/xcellrangeformula.hxx34
-rw-r--r--include/test/sheet/xcellrangemovement.hxx37
-rw-r--r--include/test/sheet/xcellrangereferrer.hxx40
-rw-r--r--include/test/sheet/xcellrangesquery.hxx39
-rw-r--r--include/test/sheet/xcellseries.hxx38
-rw-r--r--include/test/sheet/xconsolidatable.hxx35
-rw-r--r--include/test/sheet/xconsolidationdescriptor.hxx45
-rw-r--r--include/test/sheet/xdatabaserange.hxx38
-rw-r--r--include/test/sheet/xdatabaseranges.hxx34
-rw-r--r--include/test/sheet/xdatapilotdescriptor.hxx52
-rw-r--r--include/test/sheet/xdatapilotfield.hxx34
-rw-r--r--include/test/sheet/xdatapilotfieldgrouping.hxx35
-rw-r--r--include/test/sheet/xdatapilottable.hxx39
-rw-r--r--include/test/sheet/xdatapilottable2.hxx58
-rw-r--r--include/test/sheet/xdatapilottables.hxx35
-rw-r--r--include/test/sheet/xdatapilottablessupplier.hxx34
-rw-r--r--include/test/sheet/xddelink.hxx42
-rw-r--r--include/test/sheet/xddelinks.hxx44
-rw-r--r--include/test/sheet/xdocumentauditing.hxx44
-rw-r--r--include/test/sheet/xformulaquery.hxx57
-rw-r--r--include/test/sheet/xfunctiondescriptions.hxx34
-rw-r--r--include/test/sheet/xgoalseek.hxx32
-rw-r--r--include/test/sheet/xheaderfootercontent.hxx36
-rw-r--r--include/test/sheet/xlabelrange.hxx35
-rw-r--r--include/test/sheet/xlabelranges.hxx35
-rw-r--r--include/test/sheet/xmultiformulatokens.hxx39
-rw-r--r--include/test/sheet/xmultipleoperation.hxx39
-rw-r--r--include/test/sheet/xnamedrange.hxx41
-rw-r--r--include/test/sheet/xnamedranges.hxx59
-rw-r--r--include/test/sheet/xprintareas.hxx41
-rw-r--r--include/test/sheet/xrecentfunctions.hxx36
-rw-r--r--include/test/sheet/xscenario.hxx34
-rw-r--r--include/test/sheet/xscenarioenhanced.hxx34
-rw-r--r--include/test/sheet/xscenarios.hxx35
-rw-r--r--include/test/sheet/xscenariossupplier.hxx34
-rw-r--r--include/test/sheet/xsheetannotation.hxx42
-rw-r--r--include/test/sheet/xsheetannotationanchor.hxx34
-rw-r--r--include/test/sheet/xsheetannotations.hxx43
-rw-r--r--include/test/sheet/xsheetannotationshapesupplier.hxx32
-rw-r--r--include/test/sheet/xsheetannotationssupplier.hxx34
-rw-r--r--include/test/sheet/xsheetauditing.hxx38
-rw-r--r--include/test/sheet/xsheetcellcursor.hxx39
-rw-r--r--include/test/sheet/xsheetcellrange.hxx34
-rw-r--r--include/test/sheet/xsheetcellrangecontainer.hxx39
-rw-r--r--include/test/sheet/xsheetcellranges.hxx36
-rw-r--r--include/test/sheet/xsheetcondition.hxx37
-rw-r--r--include/test/sheet/xsheetconditionalentries.hxx41
-rw-r--r--include/test/sheet/xsheetconditionalentry.hxx34
-rw-r--r--include/test/sheet/xsheetfilterable.hxx38
-rw-r--r--include/test/sheet/xsheetfilterableex.hxx35
-rw-r--r--include/test/sheet/xsheetfilterdescriptor.hxx35
-rw-r--r--include/test/sheet/xsheetfilterdescriptor2.hxx35
-rw-r--r--include/test/sheet/xsheetfilterdescriptor3.hxx35
-rw-r--r--include/test/sheet/xsheetlinkable.hxx35
-rw-r--r--include/test/sheet/xsheetoperation.hxx35
-rw-r--r--include/test/sheet/xsheetoutline.hxx38
-rw-r--r--include/test/sheet/xsheetpagebreak.hxx34
-rw-r--r--include/test/sheet/xspreadsheet.hxx34
-rw-r--r--include/test/sheet/xspreadsheetdocument.hxx37
-rw-r--r--include/test/sheet/xspreadsheets.hxx34
-rw-r--r--include/test/sheet/xspreadsheets2.hxx64
-rw-r--r--include/test/sheet/xspreadsheetview.hxx33
-rw-r--r--include/test/sheet/xsubtotalcalculatable.hxx34
-rw-r--r--include/test/sheet/xsubtotaldescriptor.hxx33
-rw-r--r--include/test/sheet/xsubtotalfield.hxx33
-rw-r--r--include/test/sheet/xuniquecellformatrangessupplier.hxx34
-rw-r--r--include/test/sheet/xusedareacursor.hxx33
-rw-r--r--include/test/sheet/xviewfreezable.hxx31
-rw-r--r--include/test/sheet/xviewpane.hxx35
-rw-r--r--include/test/sheet/xviewsplitable.hxx33
-rw-r--r--include/test/style/xstyleloader.hxx51
-rw-r--r--include/test/table/tablecolumn.hxx41
-rw-r--r--include/test/table/tablerow.hxx36
-rw-r--r--include/test/table/xcell.hxx37
-rw-r--r--include/test/table/xcellcursor.hxx39
-rw-r--r--include/test/table/xcellrange.hxx49
-rw-r--r--include/test/table/xcolumnrowrange.hxx35
-rw-r--r--include/test/table/xtablechart.hxx37
-rw-r--r--include/test/table/xtablecharts.hxx36
-rw-r--r--include/test/table/xtablechartssupplier.hxx34
-rw-r--r--include/test/table/xtablecolumns.hxx57
-rw-r--r--include/test/table/xtablerows.hxx38
-rw-r--r--include/test/testdllapi.hxx39
-rw-r--r--include/test/testinteractionhandler.hxx154
-rw-r--r--include/test/text/baseindex.hxx30
-rw-r--r--include/test/text/textcontent.hxx51
-rw-r--r--include/test/text/textdocumentindex.hxx30
-rw-r--r--include/test/text/textdocumentsettings.hxx29
-rw-r--r--include/test/text/textprintersettings.hxx30
-rw-r--r--include/test/text/textsettings.hxx30
-rw-r--r--include/test/text/xdocumentindex.hxx36
-rw-r--r--include/test/text/xsimpletext.hxx36
-rw-r--r--include/test/text/xtext.hxx33
-rw-r--r--include/test/text/xtextcontent.hxx39
-rw-r--r--include/test/text/xtextfield.hxx37
-rw-r--r--include/test/text/xtextrange.hxx38
-rw-r--r--include/test/unoapi_property_testers.hxx173
-rw-r--r--include/test/unoapi_test.hxx42
-rw-r--r--include/test/util/searchdescriptor.hxx33
-rw-r--r--include/test/util/xindent.hxx35
-rw-r--r--include/test/util/xmergeable.hxx34
-rw-r--r--include/test/util/xrefreshable.hxx36
-rw-r--r--include/test/util/xreplaceable.hxx40
-rw-r--r--include/test/util/xreplacedescriptor.hxx33
-rw-r--r--include/test/util/xsearchable.hxx41
-rw-r--r--include/test/util/xsearchdescriptor.hxx33
-rw-r--r--include/test/view/xcontrolaccess.hxx35
-rw-r--r--include/test/view/xformlayeraccess.hxx43
-rw-r--r--include/test/xmldiff.hxx21
-rw-r--r--include/test/xmldocptr.hxx20
-rw-r--r--include/test/xmltesttools.hxx110
176 files changed, 7184 insertions, 0 deletions
diff --git a/include/test/beans/xpropertyset.hxx b/include/test/beans/xpropertyset.hxx
new file mode 100644
index 000000000..dbfac0a2e
--- /dev/null
+++ b/include/test/beans/xpropertyset.hxx
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_BEANS_XPROPERTYSET_HXX
+#define INCLUDED_TEST_BEANS_XPROPERTYSET_HXX
+
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/beans/XPropertySetInfo.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+#include <set>
+#include <vector>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XPropertySet
+{
+public:
+ XPropertySet() {}
+
+ XPropertySet(const std::set<OUString> rIgnoreValue)
+ : m_IgnoreValue(rIgnoreValue)
+ {
+ }
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetPropertySetInfo();
+ void testSetPropertyValue();
+ void testGetPropertyValue();
+ void testPropertyChangeListener();
+ void testVetoableChangeListener();
+
+protected:
+ ~XPropertySet(){};
+ bool isPropertyValueChangeable(const OUString& rName);
+
+ virtual bool isPropertyIgnored(const OUString& rName);
+
+private:
+ void fillPropsToTest(const css::uno::Reference<css::beans::XPropertySetInfo>& xPropInfo);
+ static bool
+ getSinglePropertyValue(const css::uno::Reference<css::beans::XPropertySet>& xPropSet,
+ const OUString& rName);
+
+ struct OOO_DLLPUBLIC_TEST PropsToTest
+ {
+ std::vector<OUString> constrained;
+ std::vector<OUString> bound;
+ std::vector<OUString> normal;
+ std::vector<OUString> readonly;
+
+ bool initialized;
+
+ PropsToTest();
+ };
+
+ PropsToTest maPropsToTest;
+ std::set<OUString> m_IgnoreValue;
+};
+
+} // namespace apitest
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/bootstrapfixture.hxx b/include/test/bootstrapfixture.hxx
new file mode 100644
index 000000000..438bba58a
--- /dev/null
+++ b/include/test/bootstrapfixture.hxx
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+#pragma once
+
+#include <sal/config.h>
+
+#include <rtl/string.hxx>
+#include <tools/link.hxx>
+#include <vcl/salctype.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/XMultiComponentFactory.hpp>
+
+#include <cppunit/TestAssert.h>
+#include <cppunit/TestFixture.h>
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/plugin/TestPlugIn.h>
+#include <unotest/bootstrapfixturebase.hxx>
+#include <test/testdllapi.hxx>
+
+namespace test
+{
+enum ValidationFormat
+{
+ OOXML,
+ ODF,
+ MSBINARY
+};
+
+// Class to do lots of heavy-lifting UNO & environment
+// bootstrapping for unit tests, such that we can use
+// almost an entire LibreOffice during compile - so
+// that we can get pieces of code alone to beat them up.
+
+// NB. this class is instantiated multiple times during a
+// run of unit tests ...
+class OOO_DLLPUBLIC_TEST BootstrapFixture : public BootstrapFixtureBase
+{
+ bool m_bNeedUCB;
+ bool m_bAssertOnDialog;
+
+protected:
+ css::uno::Reference<css::uno::XComponentContext> mxComponentContext;
+
+ // A convenience function to be used to conditionally exclude tests not behaving properly
+ // on UI scaling other than 1:1. Using this should be considered a temporary workaround,
+ // until a proper fix is implemented that either considers the DPI properly in the test, or
+ // makes the invariants that test uses independent of DPI.
+ static bool IsDefaultDPI();
+ static std::pair<double, double> getDPIScaling();
+
+public:
+ DECL_DLLPRIVATE_STATIC_LINK(BootstrapFixture, ImplInitFilterHdl, ConvertData&, bool);
+
+ BootstrapFixture(bool bAssertOnDialog = true, bool bNeedUCB = true);
+ virtual ~BootstrapFixture() override;
+
+ virtual void setUp() override;
+
+ void validate(const OUString& rURL, ValidationFormat) const;
+
+ // Allows to exclude tests dependent on color depth of the default virtual device
+ static sal_uInt16 getDefaultDeviceBitCount();
+};
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/calc_unoapi_test.hxx b/include/test/calc_unoapi_test.hxx
new file mode 100644
index 000000000..58cb55c70
--- /dev/null
+++ b/include/test/calc_unoapi_test.hxx
@@ -0,0 +1,31 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CALC_UNOAPI_TEST_HXX
+#define INCLUDED_TEST_CALC_UNOAPI_TEST_HXX
+
+#include <test/unoapi_test.hxx>
+
+// basic uno api test class for calc
+
+class OOO_DLLPUBLIC_TEST CalcUnoApiTest : public UnoApiTest
+{
+public:
+ CalcUnoApiTest(const OUString& path);
+
+ virtual void setUp() override;
+ virtual void tearDown() override;
+
+private:
+ css::uno::Reference<css::uno::XInterface> m_xCalcComponent;
+};
+
+#endif // INCLUDED_TEST_CALC_UNOAPI_TEST_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/callgrind.hxx b/include/test/callgrind.hxx
new file mode 100644
index 000000000..6a16fa831
--- /dev/null
+++ b/include/test/callgrind.hxx
@@ -0,0 +1,21 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CALLGRIND_HXX
+#define INCLUDED_TEST_CALLGRIND_HXX
+
+#include <sal/config.h>
+#include <test/testdllapi.hxx>
+
+void OOO_DLLPUBLIC_TEST callgrindStart();
+void OOO_DLLPUBLIC_TEST callgrindDump(const char* name);
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/chart/xchartdata.hxx b/include/test/chart/xchartdata.hxx
new file mode 100644
index 000000000..315d727ed
--- /dev/null
+++ b/include/test/chart/xchartdata.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XChartData
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testChartDataChangeEventListener();
+ void testGetNotANumber();
+ void testIsNotANumber();
+
+protected:
+ ~XChartData() {}
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/container/xchild.hxx b/include/test/container/xchild.hxx
new file mode 100644
index 000000000..60efed6fc
--- /dev/null
+++ b/include/test/container/xchild.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_CONTAINER_XCHILD_HXX
+#define INCLUDED_TEST_CONTAINER_XCHILD_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XChild
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetParent();
+
+protected:
+ ~XChild() {}
+};
+}
+
+#endif // INCLUDED_TEST_CONTAINER_XCHILD_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/container/xelementaccess.hxx b/include/test/container/xelementaccess.hxx
new file mode 100644
index 000000000..95ee85162
--- /dev/null
+++ b/include/test/container/xelementaccess.hxx
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CONTAINER_XELEMENTACCESS_HXX
+#define INCLUDED_TEST_CONTAINER_XELEMENTACCESS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Type.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XElementAccess
+{
+public:
+ XElementAccess(css::uno::Type const& rType)
+ : m_aType(rType)
+ {
+ }
+
+ void testGetElementType();
+ void testHasElements();
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+protected:
+ ~XElementAccess() {}
+
+private:
+ css::uno::Type m_aType;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_CONTAINER_XELEMENTACCESS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/container/xenumeration.hxx b/include/test/container/xenumeration.hxx
new file mode 100644
index 000000000..0d39a0dc9
--- /dev/null
+++ b/include/test/container/xenumeration.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CONTAINER_XENUMERATION_HXX
+#define INCLUDED_TEST_CONTAINER_XENUMERATION_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XEnumeration
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testHasMoreElements();
+ void testNextElement();
+
+protected:
+ ~XEnumeration() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_CONTAINER_XENUMERATION_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/container/xenumerationaccess.hxx b/include/test/container/xenumerationaccess.hxx
new file mode 100644
index 000000000..272172c8d
--- /dev/null
+++ b/include/test/container/xenumerationaccess.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_CONTAINER_XENUMERATIONACCESS_HXX
+#define INCLUDED_TEST_CONTAINER_XENUMERATIONACCESS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XEnumerationAccess
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testCreateEnumeration();
+
+protected:
+ ~XEnumerationAccess() {}
+};
+}
+
+#endif // INCLUDED_TEST_CONTAINER_XENUMERATIONACCESS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/container/xindexaccess.hxx b/include/test/container/xindexaccess.hxx
new file mode 100644
index 000000000..64a34b8bf
--- /dev/null
+++ b/include/test/container/xindexaccess.hxx
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CONTAINER_XINDEXACCESS_HXX
+#define INCLUDED_TEST_CONTAINER_XINDEXACCESS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XIndexAccess
+{
+public:
+ XIndexAccess(sal_Int32 nItems)
+ : m_nItems(nItems)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ void testGetCount();
+ void testGetByIndex();
+ // will throw an exception and should fail if not
+ void testGetByIndexException();
+
+protected:
+ ~XIndexAccess() {}
+
+private:
+ sal_Int32 m_nItems;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_CONTAINER_XINDEXACCESS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/container/xnameaccess.hxx b/include/test/container/xnameaccess.hxx
new file mode 100644
index 000000000..960cf6782
--- /dev/null
+++ b/include/test/container/xnameaccess.hxx
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CONTAINER_XNAMEACCESS_HXX
+#define INCLUDED_TEST_CONTAINER_XNAMEACCESS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XNameAccess
+{
+public:
+ XNameAccess(const OUString& rName)
+ : m_aName(rName)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetByName();
+ void testGetElementNames();
+ void testHasByName();
+
+protected:
+ ~XNameAccess() {}
+
+private:
+ OUString const m_aName;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_CONTAINER_XNAMEACCESS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/container/xnamecontainer.hxx b/include/test/container/xnamecontainer.hxx
new file mode 100644
index 000000000..221ef2a44
--- /dev/null
+++ b/include/test/container/xnamecontainer.hxx
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CONTAINER_XNAMECONTAINER_HXX
+#define INCLUDED_TEST_CONTAINER_XNAMECONTAINER_HXX
+
+#include <rtl/ustring.hxx>
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XNameContainer
+{
+public:
+ // removes default entry
+ XNameContainer()
+ : m_aName("XNameContainer")
+ {
+ }
+ // removes given entry
+ XNameContainer(const OUString& rNameToRemove)
+ : m_aName(rNameToRemove)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual void setElement(const css::uno::Any& rElement) { m_aElement = rElement; }
+
+ void testInsertByName();
+ void testInsertByNameEmptyName();
+ void testInsertByNameDuplicate();
+ void testInsertByNameInvalidElement();
+ void testRemoveByName();
+ void testRemoveByNameEmptyName();
+ void testRemoveByNameNoneExistingElement();
+
+protected:
+ ~XNameContainer() {}
+
+private:
+ OUString m_aName;
+ css::uno::Any m_aElement;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_CONTAINER_XNAMECONTAINER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/container/xnamed.hxx b/include/test/container/xnamed.hxx
new file mode 100644
index 000000000..ff4c4616d
--- /dev/null
+++ b/include/test/container/xnamed.hxx
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CONTAINER_XNAMED_HXX
+#define INCLUDED_TEST_CONTAINER_XNAMED_HXX
+
+#include <rtl/ustring.hxx>
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XNamed
+{
+public:
+ XNamed(const OUString& rTestName)
+ : m_aTestName(rTestName)
+ {
+ }
+
+ void testGetName();
+ void testSetName();
+ // special case, here name is equal to links URL
+ void testSetNameByScSheetLinkObj();
+ void testSetNameThrowsException();
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+protected:
+ ~XNamed() {}
+
+private:
+ OUString m_aTestName;
+};
+}
+
+#endif // INCLUDED_TEST_CONTAINER_XNAMED_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/container/xnamereplace.hxx b/include/test/container/xnamereplace.hxx
new file mode 100644
index 000000000..ecf2fac83
--- /dev/null
+++ b/include/test/container/xnamereplace.hxx
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CONTAINER_XNAMEREPLACE_HXX
+#define INCLUDED_TEST_CONTAINER_XNAMEREPLACE_HXX
+
+#include <rtl/ustring.hxx>
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Any.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XNameReplace
+{
+public:
+ XNameReplace(const OUString& rName)
+ : m_aReplacementName(rName)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ void testReplaceByName();
+
+ void setElement(const css::uno::Any& rElement) { m_aReplacementElement = rElement; }
+
+protected:
+ ~XNameReplace() {}
+
+private:
+ OUString m_aReplacementName;
+ css::uno::Any m_aReplacementElement;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_CONTAINER_XNAMEREPLACE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/cppunitasserthelper.hxx b/include/test/cppunitasserthelper.hxx
new file mode 100644
index 000000000..b6703e255
--- /dev/null
+++ b/include/test/cppunitasserthelper.hxx
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_CPPUNITASSERTHELPER_HXX
+#define INCLUDED_TEST_CPPUNITASSERTHELPER_HXX
+
+#include <rtl/ustring.hxx>
+
+#include <com/sun/star/awt/Point.hpp>
+#include <com/sun/star/awt/Size.hpp>
+#include <com/sun/star/table/CellAddress.hpp>
+#include <com/sun/star/table/CellRangeAddress.hpp>
+
+#include <cppunit/TestAssert.h>
+
+CPPUNIT_NS_BEGIN
+
+/** @brief Trait used by CPPUNIT_ASSERT* macros to compare com::sun::star:awt::Point.
+ *
+ * This specialization from @c struct @c assertion_traits<> helps to compare
+ * @see com::sun::star::awt::Point.
+ */
+template <> struct assertion_traits<css::awt::Point>
+{
+ static bool equal(const css::awt::Point& x, const css::awt::Point& y) { return x == y; }
+
+ static std::string toString(const css::awt::Point& x)
+ {
+ OStringStream ost;
+ ost << "Point: " << x.X << "." << x.Y << " (coordinate: X.Y)";
+ return ost.str();
+ }
+};
+
+/** @brief Trait used by CPPUNIT_ASSERT* macros to compare com::sun::star:awt::Size.
+ *
+ * This specialization from @c struct @c assertion_traits<> helps to compare
+ * @see com::sun::star::awt::Size.
+ */
+template <> struct assertion_traits<css::awt::Size>
+{
+ static bool equal(const css::awt::Size& x, const css::awt::Size& y) { return x == y; }
+
+ static std::string toString(const css::awt::Size& x)
+ {
+ OStringStream ost;
+ ost << "Size: " << x.Width << " x " << x.Height << " (Width x Height)";
+ return ost.str();
+ }
+};
+
+/** @brief Trait used by CPPUNIT_ASSERT* macros to compare com::sun::star::table::CellAddress.
+ *
+ * This specialization from @c struct @c assertion_traits<> helps to compare
+ * @see com::sun::star::table::CellAddress.
+ */
+template <> struct assertion_traits<css::table::CellAddress>
+{
+ static bool equal(const css::table::CellAddress& x, const css::table::CellAddress& y)
+ {
+ return x == y;
+ }
+
+ static std::string toString(const css::table::CellAddress& x)
+ {
+ OStringStream ost;
+ ost << "Sheet: " << x.Sheet << " Column: " << x.Column << " Row: " << x.Row;
+ return ost.str();
+ }
+};
+
+/** @brief Trait used by CPPUNIT_ASSERT* macros to compare com::sun::star::table::CellRangeAddress.
+ *
+ * This specialization from @c struct @c assertion_traits<> helps to compare
+ * @see com::sun::star::table::CellRangeAddress.
+ */
+template <> struct assertion_traits<css::table::CellRangeAddress>
+{
+ static bool equal(const css::table::CellRangeAddress& x, const css::table::CellRangeAddress& y)
+ {
+ return x == y;
+ }
+
+ static std::string toString(const css::table::CellRangeAddress& x)
+ {
+ OStringStream ost;
+ ost << "Sheet: " << x.Sheet << " StartColumn: " << x.StartColumn
+ << " StartRow: " << x.StartRow << " EndColumn: " << x.EndColumn
+ << " EndRow: " << x.EndRow;
+ return ost.str();
+ }
+};
+
+CPPUNIT_NS_END
+
+#endif // INCLUDED_TEST_CPPUNITASSERTHELPER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/document/xactionlockable.hxx b/include/test/document/xactionlockable.hxx
new file mode 100644
index 000000000..c1a76373b
--- /dev/null
+++ b/include/test/document/xactionlockable.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_DOCUMENT_XACTIONLOCKABLE_HXX
+#define INCLUDED_TEST_DOCUMENT_XACTIONLOCKABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XActionLockable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testAddRemoveActionLock();
+ void testSetResetActionLock();
+
+protected:
+ ~XActionLockable(){};
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_DOCUMENT_XACTIONLOCKABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/document/xembeddedobjectsupplier.hxx b/include/test/document/xembeddedobjectsupplier.hxx
new file mode 100644
index 000000000..b9caee190
--- /dev/null
+++ b/include/test/document/xembeddedobjectsupplier.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_DOCUMENT_XEMBEDDEDOBJECTSUPPLIER_HXX
+#define INCLUDED_TEST_DOCUMENT_XEMBEDDEDOBJECTSUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XEmbeddedObjectSupplier
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetEmbeddedObject();
+
+protected:
+ ~XEmbeddedObjectSupplier() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_DOCUMENT_XEMBEDDEDOBJECTSUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/document/xlinktargetsupplier.hxx b/include/test/document/xlinktargetsupplier.hxx
new file mode 100644
index 000000000..de273f89b
--- /dev/null
+++ b/include/test/document/xlinktargetsupplier.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_DOCUMENT_XLINKTARGETSUPPLIER_HXX
+#define INCLUDED_TEST_DOCUMENT_XLINKTARGETSUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XLinkTargetSupplier
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetLinks();
+
+protected:
+ ~XLinkTargetSupplier() {}
+};
+}
+
+#endif // INCLUDED_TEST_DOCUMENT_XLINKTARGETSUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/drawing/captionshape.hxx b/include/test/drawing/captionshape.hxx
new file mode 100644
index 000000000..321de6e79
--- /dev/null
+++ b/include/test/drawing/captionshape.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_DRAWING_CAPTION_SHAPE_HXX
+#define INCLUDED_TEST_DRAWING_CAPTION_SHAPE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST CaptionShape
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testCaptionShapeProperties();
+
+protected:
+ ~CaptionShape() {}
+};
+}
+#endif // INCLUDED_TEST_DRAWING_CAPTION_SHAPE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/drawing/xdrawpages.hxx b/include/test/drawing/xdrawpages.hxx
new file mode 100644
index 000000000..b6430df60
--- /dev/null
+++ b/include/test/drawing/xdrawpages.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_DRAWING_XDRAWPAGES_HXX
+#define INCLUDED_TEST_DRAWING_XDRAWPAGES_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDrawPages
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ virtual void testInsertNewByIndex();
+ virtual void testRemove();
+
+protected:
+ ~XDrawPages() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_DRAWING_XDRAWPAGES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/drawing/xgluepointssupplier.hxx b/include/test/drawing/xgluepointssupplier.hxx
new file mode 100644
index 000000000..0dd8bf58a
--- /dev/null
+++ b/include/test/drawing/xgluepointssupplier.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XGluePointsSupplier
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetGluePoints();
+
+protected:
+ ~XGluePointsSupplier() {}
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/drawing/xshape.hxx b/include/test/drawing/xshape.hxx
new file mode 100644
index 000000000..2e9c26c9d
--- /dev/null
+++ b/include/test/drawing/xshape.hxx
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XShape
+{
+public:
+ XShape() = default;
+ XShape(bool bObjSupportsPosition)
+ : m_bObjSupportsPosition(bObjSupportsPosition)
+ {
+ }
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetPosition();
+ void testGetSetSize();
+
+protected:
+ ~XShape() {}
+
+private:
+ bool const m_bObjSupportsPosition{ true };
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/drawing/xshapedescriptor.hxx b/include/test/drawing/xshapedescriptor.hxx
new file mode 100644
index 000000000..2c99e7e9c
--- /dev/null
+++ b/include/test/drawing/xshapedescriptor.hxx
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XShapeDescriptor
+{
+public:
+ XShapeDescriptor(const OUString& rShapeType)
+ : m_aShapeType(rShapeType)
+ {
+ }
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetShapeType();
+
+protected:
+ ~XShapeDescriptor() {}
+
+private:
+ OUString const m_aShapeType;
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/drawing/xshapegrouper.hxx b/include/test/drawing/xshapegrouper.hxx
new file mode 100644
index 000000000..1770d3f76
--- /dev/null
+++ b/include/test/drawing/xshapegrouper.hxx
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_DRAWING_XSHAPEGROUPER_HXX
+#define INCLUDED_TEST_DRAWING_XSHAPEGROUPER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XShapeGrouper
+{
+public:
+ void setDrawPage(const css::uno::Reference<css::uno::XInterface>& r_xDrawPage)
+ {
+ m_xDrawPage = r_xDrawPage;
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGroup();
+ void testUngroup();
+
+protected:
+ ~XShapeGrouper() {}
+
+private:
+ css::uno::Reference<css::uno::XInterface> m_xDrawPage;
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_DRAWING_XSHAPEGROUPER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/drawing/xshapes.hxx b/include/test/drawing/xshapes.hxx
new file mode 100644
index 000000000..f04131dc4
--- /dev/null
+++ b/include/test/drawing/xshapes.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_DRAWING_XSHAPES_HXX
+#define INCLUDED_TEST_DRAWING_XSHAPES_HXX
+
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XShapes
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ void setShape(const css::uno::Reference<css::drawing::XShape>& r_xShape)
+ {
+ m_xShape = r_xShape;
+ }
+
+ void testAddRemove();
+
+protected:
+ ~XShapes() {}
+
+private:
+ css::uno::Reference<css::drawing::XShape> m_xShape;
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_DRAWING_XSHAPES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/helper/form.hxx b/include/test/helper/form.hxx
new file mode 100644
index 000000000..d3b80544d
--- /dev/null
+++ b/include/test/helper/form.hxx
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_HELPER_FORM_HXX
+#define INCLUDED_TEST_HELPER_FORM_HXX
+
+#include <sal/config.h>
+
+#include <string_view>
+
+#include <com/sun/star/drawing/XControlShape.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <sal/types.h>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+namespace helper
+{
+namespace form
+{
+/** @brief Create a XControlShape of kind "CommandButton".
+ *
+ * @param r_xComponent The document.
+ * @param nX The x-position of the shape.
+ * @param nY The y-position of the shape.
+ * @param nHeight The height of the shape.
+ * @param nWidth The width of the shape.
+ * @return The created XControlShape.
+ */
+css::uno::Reference<css::drawing::XControlShape> OOO_DLLPUBLIC_TEST createCommandButton(
+ const css::uno::Reference<css::lang::XComponent>& r_xComponent, const sal_Int32 nX,
+ const sal_Int32 nY, const sal_Int32 nHeight, const sal_Int32 nWidth);
+
+/** @brief Create a XControlShape
+ *
+ * @param r_xComponent The document.
+ * @param r_aKind The kind of the shape.
+ * @param nX The x-position of the shape.
+ * @param nY The y-position of the shape.
+ * @param nHeight The height of the shape.
+ * @param nWidth The width of the shape.
+ * @return The created XControlShape.
+ */
+css::uno::Reference<css::drawing::XControlShape> OOO_DLLPUBLIC_TEST createControlShape(
+ const css::uno::Reference<css::lang::XComponent>& r_xComponent, std::u16string_view r_aKind,
+ const sal_Int32 nX, const sal_Int32 nY, const sal_Int32 nHeight, const sal_Int32 nWidth);
+
+} // namespace form
+} // namespace helper
+} // namespace apitest
+
+#endif // INCLUDED_TEST_HELPER_FORM_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/helper/shape.hxx b/include/test/helper/shape.hxx
new file mode 100644
index 000000000..dbf374521
--- /dev/null
+++ b/include/test/helper/shape.hxx
@@ -0,0 +1,92 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_HELPER_SHAPE_HXX
+#define INCLUDED_TEST_HELPER_SHAPE_HXX
+
+#include <sal/config.h>
+
+#include <string_view>
+
+#include <sal/types.h>
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+namespace helper
+{
+namespace shape
+{
+/** @brief Create a XShape of kind "Ellipse".
+ *
+ * @param r_xComponent The document
+ * @param nX The x-position of the shape.
+ * @param nY The y-position of the shape.
+ * @param nHeight The height of the shape.
+ * @param nWidth The width of the shape.
+ * @return The created XShape.
+ */
+css::uno::Reference<css::drawing::XShape>
+ OOO_DLLPUBLIC_TEST createEllipse(const css::uno::Reference<css::lang::XComponent>& r_xComponent,
+ const sal_Int32 nX, const sal_Int32 nY, const sal_Int32 nWidth,
+ const sal_Int32 nHeight);
+
+/** @brief Create a XShape of kind "Line".
+ *
+ * @param r_xComponent The document
+ * @param nX The x-position of the shape.
+ * @param nY The y-position of the shape.
+ * @param nHeight The height of the shape.
+ * @param nWidth The width of the shape.
+ * @return The created XShape.
+ */
+css::uno::Reference<css::drawing::XShape>
+ OOO_DLLPUBLIC_TEST createLine(const css::uno::Reference<css::lang::XComponent>& r_xComponent,
+ const sal_Int32 nX, const sal_Int32 nY, const sal_Int32 nWidth,
+ const sal_Int32 nHeight);
+
+/** @brief Create a XShape of kind "Rectangle".
+ *
+ * @param r_xComponent The document
+ * @param nX The x-position of the shape.
+ * @param nY The y-position of the shape.
+ * @param nHeight The height of the shape.
+ * @param nWidth The width of the shape.
+ * @return The created XShape.
+ */
+css::uno::Reference<css::drawing::XShape> OOO_DLLPUBLIC_TEST
+createRectangle(const css::uno::Reference<css::lang::XComponent>& r_xComponent, const sal_Int32 nX,
+ const sal_Int32 nY, const sal_Int32 nWidth, const sal_Int32 nHeight);
+
+/** @brief Create a XShape.
+ *
+ * @param r_xComponent The document
+ * @param r_aKind The kind of shape.
+ * @param nX The x-position of the shape.
+ * @param nY The y-position of the shape.
+ * @param nHeight The height of the shape.
+ * @param nWidth The width of the shape.
+ * @return The created XShape.
+ */
+css::uno::Reference<css::drawing::XShape> OOO_DLLPUBLIC_TEST createShape(
+ const css::uno::Reference<css::lang::XComponent>& r_xComponent, std::u16string_view r_aKind,
+ const sal_Int32 nX, const sal_Int32 nY, const sal_Int32 nWidth, const sal_Int32 nHeight);
+
+} // namespace shape
+} // namespace helper
+} // namespace apitest
+
+#endif // INCLUDED_TEST_HELPER_SHAPE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/helper/transferable.hxx b/include/test/helper/transferable.hxx
new file mode 100644
index 000000000..d0454bc6e
--- /dev/null
+++ b/include/test/helper/transferable.hxx
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/datatransfer/XTransferable.hpp>
+#include <rtl/string.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+namespace helper
+{
+namespace transferable
+{
+OString OOO_DLLPUBLIC_TEST getTextSelection(
+ const css::uno::Reference<css::datatransfer::XTransferable>& xTransferable, OString mimeType);
+} // namespace transferable
+} // namespace helper
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/htmltesttools.hxx b/include/test/htmltesttools.hxx
new file mode 100644
index 000000000..154bb902d
--- /dev/null
+++ b/include/test/htmltesttools.hxx
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_HTMLTESTTOOLS_HXX
+#define INCLUDED_TEST_HTMLTESTTOOLS_HXX
+
+#include <sal/config.h>
+#include <test/testdllapi.hxx>
+#include <test/xmltesttools.hxx>
+
+#include <libxml/HTMLparser.h>
+#include <libxml/HTMLtree.h>
+
+#include <unotools/tempfile.hxx>
+
+using htmlDocUniquePtr = xmlDocUniquePtr;
+
+class OOO_DLLPUBLIC_TEST HtmlTestTools
+{
+protected:
+ static htmlDocUniquePtr parseHtml(utl::TempFile const& aTempFile);
+ static htmlDocUniquePtr parseHtmlStream(SvStream* pStream);
+};
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/lang/xcomponent.hxx b/include/test/lang/xcomponent.hxx
new file mode 100644
index 000000000..9314749fb
--- /dev/null
+++ b/include/test/lang/xcomponent.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_LANG_XCOMPONENT_HXX
+#define INCLUDED_TEST_LANG_XCOMPONENT_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XComponent
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual void triggerDesktopTerminate() = 0;
+
+ void testAddEventListener();
+ void testRemoveEventListener();
+ void testDispose();
+ void testDisposedByDesktopTerminate();
+
+protected:
+ ~XComponent() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_LANG_XCOMPONENT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/lang/xserviceinfo.hxx b/include/test/lang/xserviceinfo.hxx
new file mode 100644
index 000000000..14ce4eaaa
--- /dev/null
+++ b/include/test/lang/xserviceinfo.hxx
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_LANG_XSERVICEINFO_HXX
+#define INCLUDED_TEST_LANG_XSERVICEINFO_HXX
+
+#include <vector>
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XServiceInfo
+{
+public:
+ XServiceInfo(const OUString& rImplName, const OUString& rServiceName)
+ : m_aImplName(rImplName)
+ {
+ m_aServiceNames.push_back(rServiceName);
+ }
+ XServiceInfo(const OUString& rImplName, const std::vector<OUString> rServiceNames)
+ : m_aImplName(rImplName)
+ , m_aServiceNames(rServiceNames)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetImplementationName();
+ void testGetSupportedServiceNames();
+ void testSupportsService();
+
+protected:
+ ~XServiceInfo() {}
+
+private:
+ OUString const m_aImplName;
+ std::vector<OUString> m_aServiceNames;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_LANG_XSERVICEINFO_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/lokcallback.hxx b/include/test/lokcallback.hxx
new file mode 100644
index 000000000..a3f383bce
--- /dev/null
+++ b/include/test/lokcallback.hxx
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <sal/config.h>
+#include <test/testdllapi.hxx>
+#include <LibreOfficeKit/LibreOfficeKitTypes.h>
+#include <sfx2/lokcallback.hxx>
+#include <vcl/idle.hxx>
+
+#include <vector>
+
+/**
+A helper to convert SfxLokCallbackInterface to a LIbreOfficeKitCallback for tests.
+
+It reimplements the specialized callbacks and converts them to the generic type/payload
+callback.
+*/
+class OOO_DLLPUBLIC_TEST TestLokCallbackWrapper final : public SfxLokCallbackInterface, public Idle
+{
+public:
+ TestLokCallbackWrapper(LibreOfficeKitCallback callback, void* data);
+ /// Discard all possibly still held events.
+ void clear();
+ /// Set the view id of the associated SfxViewShell.
+ void setLOKViewId(int viewId) { m_viewId = viewId; }
+ virtual void libreOfficeKitViewCallback(int nType, const char* pPayload) override;
+ virtual void libreOfficeKitViewCallbackWithViewId(int nType, const char* pPayload,
+ int nViewId) override;
+ virtual void libreOfficeKitViewInvalidateTilesCallback(const tools::Rectangle* pRect,
+ int nPart) override;
+ virtual void libreOfficeKitViewUpdatedCallback(int nType) override;
+ virtual void libreOfficeKitViewUpdatedCallbackPerViewId(int nType, int nViewId,
+ int nSourceViewId) override;
+ virtual void Invoke() override;
+
+private:
+ void callCallback(int nType, const char* pPayload, int nViewId);
+ void startTimer();
+ void flushLOKData();
+ void discardUpdatedTypes(int nType, int nViewId);
+ LibreOfficeKitCallback m_callback;
+ void* m_data;
+ int m_viewId = -1; // the associated SfxViewShell
+ std::vector<int> m_updatedTypes; // value is type
+ struct PerViewIdData
+ {
+ int type;
+ int viewId;
+ int sourceViewId;
+ };
+ std::vector<PerViewIdData> m_updatedTypesPerViewId;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/screenshot_test.hxx b/include/test/screenshot_test.hxx
new file mode 100644
index 000000000..ae0a2a8c1
--- /dev/null
+++ b/include/test/screenshot_test.hxx
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SCREENSHOT_TEST_HXX
+#define INCLUDED_TEST_SCREENSHOT_TEST_HXX
+
+#include <sal/config.h>
+#include <test/bootstrapfixture.hxx>
+#include <unotest/macros_test.hxx>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <osl/file.hxx>
+#include <vcl/vclptr.hxx>
+#include <vcl/weld.hxx>
+#include <map>
+#include <string_view>
+
+class VclAbstractDialog;
+typedef std::map<OString, sal_uInt32> mapType;
+
+class OOO_DLLPUBLIC_TEST ScreenshotTest : public test::BootstrapFixture, public unotest::MacrosTest
+{
+private:
+ /// The current UI language
+ OUString maCurrentLanguage;
+
+ /// the set of known dialogs and their ID for usage in createDialogByID
+ mapType maKnownDialogs;
+
+ /// parent for non-dialog buildables
+ weld::GenericDialogController maParent;
+ std::unique_ptr<weld::Container> mxParentWidget;
+
+private:
+ /// helpers
+ void implSaveScreenshot(const BitmapEx& rScreenshot, const OString& rScreenshotId);
+ void saveScreenshot(VclAbstractDialog const& rDialog);
+ void saveScreenshot(weld::Window& rDialog);
+
+ /// helper method to create and dump a dialog based on Builder contents.
+ void dumpDialogToPath(weld::Builder& rDialog);
+
+ /// helper method to populate maKnownDialogs, called in setUp(). Needs to be
+ /// written and has to add entries to maKnownDialogs
+ virtual void registerKnownDialogsByID(mapType& rKnownDialogs) = 0;
+
+ /// dialog creation for known dialogs by ID. Has to be implemented for
+ /// each registered known dialog
+ virtual VclPtr<VclAbstractDialog> createDialogByID(sal_uInt32 nID) = 0;
+
+public:
+ ScreenshotTest();
+ virtual ~ScreenshotTest() override;
+
+ virtual void setUp() override;
+
+ /// Dialog creation for known dialogs by Name (path and UIXMLDescription, *.ui file).
+ /// This uses maKnownDialogs to check if known, and if so, calls createDialogByID
+ /// with the ID from the map
+ VclPtr<VclAbstractDialog> createDialogByName(const OString& rName);
+
+ /// version for AbstractDialogs, the ones created in AbstractDialogFactories
+ void dumpDialogToPath(VclAbstractDialog& rDialog);
+
+ /// fallback version for dialogs for which only the UXMLDescription is known.
+ /// This should be used with care - no active layouting will be done, only the
+ /// VclBuilder will be activated for layouting. Result can thus vary drastically
+ /// compared to the active dialog (can be compared with dialog previewer)
+ void dumpDialogToPath(std::string_view rUIXMLDescription);
+
+ /// helper to process all known dialogs
+ void processAllKnownDialogs();
+
+ /// helper to process an input file containing the UXMLDescriptions
+ /// of the dialogs to dump. It will internally try to detect and open
+ /// as known dialog first. If not successful, it will then use the
+ /// fallback version to dump the dialog.
+ /// The syntax of the input file is as follows:
+ /// - empty lines are allowed
+ /// - lines starting with '#' are treated as comment
+ /// - all other lines should contain a *.ui filename in the same
+ /// notation as in the dialog constructors(see code)
+ void processDialogBatchFile(std::u16string_view rFile);
+
+ /// const access to known dialogs
+ const mapType& getKnownDialogs() const { return maKnownDialogs; }
+};
+
+#endif // INCLUDED_TEST_SCREENSHOT_TEST_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/cellarealink.hxx b/include/test/sheet/cellarealink.hxx
new file mode 100644
index 000000000..eb3a13547
--- /dev/null
+++ b/include/test/sheet/cellarealink.hxx
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_CELLAREALINK_HXX
+#define INCLUDED_TEST_SHEET_CELLAREALINK_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST CellAreaLink
+{
+public:
+ CellAreaLink(const OUString& rFileURL)
+ : m_aFileURL(rFileURL)
+ {
+ }
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testUrl();
+ void testFilter();
+ void testFilterOptions();
+ void testRefreshDelay();
+ void testRefreshPeriod();
+
+protected:
+ ~CellAreaLink() {}
+
+private:
+ OUString const m_aFileURL;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_CELLAREALINK_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/cellproperties.hxx b/include/test/sheet/cellproperties.hxx
new file mode 100644
index 000000000..aa5fe0f2c
--- /dev/null
+++ b/include/test/sheet/cellproperties.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_CELLPROPERTIES_HXX
+#define INCLUDED_TEST_SHEET_CELLPROPERTIES_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST CellProperties
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testVertJustify();
+ void testRotateReference();
+
+protected:
+ ~CellProperties() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_CELLPROPERTIES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/databaseimportdescriptor.hxx b/include/test/sheet/databaseimportdescriptor.hxx
new file mode 100644
index 000000000..14c9c6f29
--- /dev/null
+++ b/include/test/sheet/databaseimportdescriptor.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_DATABASEIMPORTDESCRIPTOR_HXX
+#define INCLUDED_TEST_SHEET_DATABASEIMPORTDESCRIPTOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST DatabaseImportDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXImportable() = 0;
+
+ void testDatabaseImportDescriptorProperties();
+
+protected:
+ ~DatabaseImportDescriptor() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_DATABASEIMPORTDESCRIPTOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/databaserange.hxx b/include/test/sheet/databaserange.hxx
new file mode 100644
index 000000000..9aca2f5eb
--- /dev/null
+++ b/include/test/sheet/databaserange.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_DATABASERANGE_HXX
+#define INCLUDED_TEST_SHEET_DATABASERANGE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST DatabaseRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init(const OUString& rDBName) = 0;
+
+ void testMoveCells();
+ void testKeepFormats();
+ void testStripData();
+ void testAutoFilter();
+ void testUseFilterCriteriaSource();
+ void testFilterCriteriaSource();
+ void testRefreshPeriod();
+ void testFromSelection();
+ void testTokenIndex();
+ void testTotalsRow();
+ void testContainsHeader();
+
+protected:
+ ~DatabaseRange() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_DATABASERANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/datapilotfield.hxx b/include/test/sheet/datapilotfield.hxx
new file mode 100644
index 000000000..28e73d7a2
--- /dev/null
+++ b/include/test/sheet/datapilotfield.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_DATAPILOTFIELD_HXX
+#define INCLUDED_TEST_SHEET_DATAPILOTFIELD_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST DataPilotField
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSortInfo();
+ void testLayoutInfo();
+ void testAutoShowInfo();
+ void testReference();
+ void testIsGroupField();
+
+protected:
+ ~DataPilotField() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_DATAPILOTFIELD_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/datapilotitem.hxx b/include/test/sheet/datapilotitem.hxx
new file mode 100644
index 000000000..bf711d3ba
--- /dev/null
+++ b/include/test/sheet/datapilotitem.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_DATAPILOTITEM_HXX
+#define INCLUDED_TEST_SHEET_DATAPILOTITEM_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST DataPilotItem
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testProperties();
+
+protected:
+ ~DataPilotItem() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_DATAPILOTITEM_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/documentsettings.hxx b/include/test/sheet/documentsettings.hxx
new file mode 100644
index 000000000..7de391f64
--- /dev/null
+++ b/include/test/sheet/documentsettings.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_DOCUMENTSETTINGS_HXX
+#define INCLUDED_TEST_SHEET_DOCUMENTSETTINGS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST DocumentSettings
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testDocumentSettingsProperties();
+
+protected:
+ ~DocumentSettings() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_DOCUMENTSETTINGS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/functiondescription.hxx b/include/test/sheet/functiondescription.hxx
new file mode 100644
index 000000000..bfe719bc5
--- /dev/null
+++ b/include/test/sheet/functiondescription.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_FUNCTIONDESCRIPTION_HXX
+#define INCLUDED_TEST_SHEET_FUNCTIONDESCRIPTION_HXX
+
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/uno/Sequence.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST FunctionDescription
+{
+public:
+ virtual css::uno::Sequence<css::beans::PropertyValue> init() = 0;
+
+ void testFunctionDescriptionProperties();
+
+protected:
+ ~FunctionDescription() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_FUNCTIONDESCRIPTION_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/globalsheetsettings.hxx b/include/test/sheet/globalsheetsettings.hxx
new file mode 100644
index 000000000..8ae2968de
--- /dev/null
+++ b/include/test/sheet/globalsheetsettings.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_GLOBALSHEETSETTINGS_HXX
+#define INCLUDED_TEST_SHEET_GLOBALSHEETSETTINGS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST GlobalSheetSettings
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGlobalSheetSettingsProperties();
+
+protected:
+ ~GlobalSheetSettings() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_GLOBALSHEETSETTINGS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/scenario.hxx b/include/test/sheet/scenario.hxx
new file mode 100644
index 000000000..3a3ec8d87
--- /dev/null
+++ b/include/test/sheet/scenario.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SCENARIO_HXX
+#define INCLUDED_TEST_SHEET_SCENARIO_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST Scenario
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> getScenarioSpreadsheet() = 0;
+
+ void testScenarioProperties();
+
+protected:
+ ~Scenario() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SCENARIO_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/shape.hxx b/include/test/sheet/shape.hxx
new file mode 100644
index 000000000..ad2b7b765
--- /dev/null
+++ b/include/test/sheet/shape.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SHAPE_HXX
+#define INCLUDED_TEST_SHEET_SHAPE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST Shape
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSheetDocument() = 0;
+
+ void testShapePropertiesAnchor();
+ void testShapePropertiesPosition();
+
+protected:
+ ~Shape() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SHAPE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/sheetcell.hxx b/include/test/sheet/sheetcell.hxx
new file mode 100644
index 000000000..a5d35cee1
--- /dev/null
+++ b/include/test/sheet/sheetcell.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SHEETCELL_HXX
+#define INCLUDED_TEST_SHEET_SHEETCELL_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SheetCell
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSheetCellProperties();
+
+protected:
+ ~SheetCell() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SHEETCELL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/sheetcellrange.hxx b/include/test/sheet/sheetcellrange.hxx
new file mode 100644
index 000000000..d4c2b551a
--- /dev/null
+++ b/include/test/sheet/sheetcellrange.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SHEETCELLRANGE_HXX
+#define INCLUDED_TEST_SHEET_SHEETCELLRANGE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SheetCellRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSheetCellRangeProperties();
+
+protected:
+ ~SheetCellRange() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SHEETCELLRANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/sheetcellranges.hxx b/include/test/sheet/sheetcellranges.hxx
new file mode 100644
index 000000000..f40b186fa
--- /dev/null
+++ b/include/test/sheet/sheetcellranges.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SHEETCELLRANGES_HXX
+#define INCLUDED_TEST_SHEET_SHEETCELLRANGES_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SheetCellRanges
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSheetCellRangesProperties();
+
+protected:
+ ~SheetCellRanges() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SHEETCELLRANGES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/sheetfilterdescriptor.hxx b/include/test/sheet/sheetfilterdescriptor.hxx
new file mode 100644
index 000000000..919b84171
--- /dev/null
+++ b/include/test/sheet/sheetfilterdescriptor.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SHEETFILTERDESCRIPTOR_HXX
+#define INCLUDED_TEST_SHEET_SHEETFILTERDESCRIPTOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SheetFilterDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSheetFilterDescriptorProperties();
+
+protected:
+ ~SheetFilterDescriptor() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SHEETFILTERDESCRIPTOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/sheetlink.hxx b/include/test/sheet/sheetlink.hxx
new file mode 100644
index 000000000..0f9e033a8
--- /dev/null
+++ b/include/test/sheet/sheetlink.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SHEETLINK_HXX
+#define INCLUDED_TEST_SHEET_SHEETLINK_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SheetLink
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSheetLinkProperties();
+
+protected:
+ ~SheetLink() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SHEETLINK_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/sheetsortdescriptor2.hxx b/include/test/sheet/sheetsortdescriptor2.hxx
new file mode 100644
index 000000000..0f3c5713d
--- /dev/null
+++ b/include/test/sheet/sheetsortdescriptor2.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SHEETSORTDESCRIPTOR2_HXX
+#define INCLUDED_TEST_SHEET_SHEETSORTDESCRIPTOR2_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SheetSortDescriptor2
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSheetSortDescriptor2Properties();
+
+protected:
+ ~SheetSortDescriptor2() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_SHEETSORTDESCRIPTOR2_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/spreadsheet.hxx b/include/test/sheet/spreadsheet.hxx
new file mode 100644
index 000000000..597790a8e
--- /dev/null
+++ b/include/test/sheet/spreadsheet.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SPREADSHEET_HXX
+#define INCLUDED_TEST_SHEET_SPREADSHEET_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST Spreadsheet
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheetDocument() = 0;
+
+ void testSpreadsheetProperties();
+
+protected:
+ ~Spreadsheet() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SPREADSHEET_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/spreadsheetdocumentsettings.hxx b/include/test/sheet/spreadsheetdocumentsettings.hxx
new file mode 100644
index 000000000..138554157
--- /dev/null
+++ b/include/test/sheet/spreadsheetdocumentsettings.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SPREADSHEETDOCUMENTSETTINGS_HXX
+#define INCLUDED_TEST_SHEET_SPREADSHEETDOCUMENTSETTINGS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SpreadsheetDocumentSettings
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSpreadsheetDocumentSettingsProperties();
+
+protected:
+ ~SpreadsheetDocumentSettings() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SPREADSHEETDOCUMENTSETTINGS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/spreadsheetviewsettings.hxx b/include/test/sheet/spreadsheetviewsettings.hxx
new file mode 100644
index 000000000..135c95e5d
--- /dev/null
+++ b/include/test/sheet/spreadsheetviewsettings.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SPREADSHEETVIEWSETTINGS_HXX
+#define INCLUDED_TEST_SHEET_SPREADSHEETVIEWSETTINGS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SpreadsheetViewSettings
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSpreadsheetViewSettingsProperties();
+
+protected:
+ ~SpreadsheetViewSettings() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SPREADSHEETVIEWSETTINGS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/subtotaldescriptor.hxx b/include/test/sheet/subtotaldescriptor.hxx
new file mode 100644
index 000000000..9b2c21f21
--- /dev/null
+++ b/include/test/sheet/subtotaldescriptor.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_SUBTOTALDESCRIPTOR_HXX
+#define INCLUDED_TEST_SHEET_SUBTOTALDESCRIPTOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SubTotalDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSubTotalDescriptorProperties();
+
+protected:
+ ~SubTotalDescriptor() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_SUBTOTALDESCRIPTOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/tableautoformat.hxx b/include/test/sheet/tableautoformat.hxx
new file mode 100644
index 000000000..3a04784a1
--- /dev/null
+++ b/include/test/sheet/tableautoformat.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_TABLEAUTOFORMAT_HXX
+#define INCLUDED_TEST_SHEET_TABLEAUTOFORMAT_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TableAutoFormat
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testTableAutoFormatProperties();
+
+protected:
+ ~TableAutoFormat() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_TABLEAUTOFORMAT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/tablevalidation.hxx b/include/test/sheet/tablevalidation.hxx
new file mode 100644
index 000000000..809745254
--- /dev/null
+++ b/include/test/sheet/tablevalidation.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_TABLEVALIDATION_HXX
+#define INCLUDED_TEST_SHEET_TABLEVALIDATION_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TableValidation
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testTableValidationProperties();
+
+protected:
+ ~TableValidation() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_TABLEVALIDATION_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xactivationbroadcaster.hxx b/include/test/sheet/xactivationbroadcaster.hxx
new file mode 100644
index 000000000..5dc21edc0
--- /dev/null
+++ b/include/test/sheet/xactivationbroadcaster.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XACTIVATIONBROADCASTER_HXX
+#define INCLUDED_TEST_SHEET_XACTIVATIONBROADCASTER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XActivationBroadcaster
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet(const sal_Int16 nNumber = 0)
+ = 0;
+
+ void testAddRemoveActivationEventListener();
+
+protected:
+ ~XActivationBroadcaster() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XACTIVATIONBROADCASTER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xarealink.hxx b/include/test/sheet/xarealink.hxx
new file mode 100644
index 000000000..15a65f249
--- /dev/null
+++ b/include/test/sheet/xarealink.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XAREALINK_HXX
+#define INCLUDED_TEST_SHEET_XAREALINK_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XAreaLink
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~XAreaLink() {}
+
+ void testGetSourceArea();
+ void testSetSourceArea();
+ void testGetDestArea();
+ void testSetDestArea();
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XAREALINK_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xarealinks.hxx b/include/test/sheet/xarealinks.hxx
new file mode 100644
index 000000000..1007c28e5
--- /dev/null
+++ b/include/test/sheet/xarealinks.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XAREALINKS_HXX
+#define INCLUDED_TEST_SHEET_XAREALINKS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XAreaLinks
+{
+public:
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+
+ void testInsertAtPosition();
+ void testRemoveByIndex();
+
+protected:
+ ~XAreaLinks(){}
+
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XAREALINKS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xarrayformularange.hxx b/include/test/sheet/xarrayformularange.hxx
new file mode 100644
index 000000000..2529b8153
--- /dev/null
+++ b/include/test/sheet/xarrayformularange.hxx
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XArrayFormulaRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet() = 0;
+
+ void testGetSetArrayFormula();
+
+protected:
+ ~XArrayFormulaRange() {}
+};
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xcalculatable.hxx b/include/test/sheet/xcalculatable.hxx
new file mode 100644
index 000000000..94614768e
--- /dev/null
+++ b/include/test/sheet/xcalculatable.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCALCULATABLE_HXX
+#define INCLUDED_TEST_SHEET_XCALCULATABLE_HXX
+
+#include <com/sun/star/table/XCell.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCalculatable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Sequence<css::uno::Reference<css::table::XCell>> getXCells() = 0;
+
+ void testCalculate();
+ void testCalculateAll();
+ void testEnableAutomaticCalculation();
+
+protected:
+ ~XCalculatable() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XCALCULATABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xcelladdressable.hxx b/include/test/sheet/xcelladdressable.hxx
new file mode 100644
index 000000000..506415a11
--- /dev/null
+++ b/include/test/sheet/xcelladdressable.hxx
@@ -0,0 +1,31 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLADDRESSABLE_HXX
+#define INCLUDED_TEST_SHEET_XCELLADDRESSABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellAddressable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~XCellAddressable() {}
+
+ void testGetCellAddress();
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XCELLADDRESSABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xcellformatrangessupplier.hxx b/include/test/sheet/xcellformatrangessupplier.hxx
new file mode 100644
index 000000000..1f2f6d379
--- /dev/null
+++ b/include/test/sheet/xcellformatrangessupplier.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLFORMATRANGESSUPPLIER_HXX
+#define INCLUDED_TEST_SHEET_XCELLFORMATRANGESSUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellFormatRangesSupplier
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetCellFormatRanges();
+
+protected:
+ ~XCellFormatRangesSupplier() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XCELLFORMATRANGESSUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xcellrangeaddressable.hxx b/include/test/sheet/xcellrangeaddressable.hxx
new file mode 100644
index 000000000..0819b34c1
--- /dev/null
+++ b/include/test/sheet/xcellrangeaddressable.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLRANGEADDRESSABLE_HXX
+#define INCLUDED_TEST_SHEET_XCELLRANGEADDRESSABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellRangeAddressable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetRangeAddress();
+
+protected:
+ ~XCellRangeAddressable() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XCELLRANGEADDRESSABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xcellrangedata.hxx b/include/test/sheet/xcellrangedata.hxx
new file mode 100644
index 000000000..0b6efef2e
--- /dev/null
+++ b/include/test/sheet/xcellrangedata.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLRANGEDATA_HXX
+#define INCLUDED_TEST_SHEET_XCELLRANGEDATA_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellRangeData
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXCellRangeData() = 0;
+
+ void testGetDataArray();
+ void testSetDataArray();
+ void testGetDataArrayOnTableSheet();
+ void testSetDataArrayOnTableSheet();
+
+protected:
+ ~XCellRangeData() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XCELLRANGEDATA_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xcellrangeformula.hxx b/include/test/sheet/xcellrangeformula.hxx
new file mode 100644
index 000000000..9fcc432c8
--- /dev/null
+++ b/include/test/sheet/xcellrangeformula.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLRANGEFORMULA_HXX
+#define INCLUDED_TEST_SHEET_XCELLRANGEFORMULA_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellRangeFormula
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetFormulaArray();
+
+protected:
+ ~XCellRangeFormula() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XCELLRANGEFORMULA_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xcellrangemovement.hxx b/include/test/sheet/xcellrangemovement.hxx
new file mode 100644
index 000000000..a95fdf642
--- /dev/null
+++ b/include/test/sheet/xcellrangemovement.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLRANGEMOVEMENT_HXX
+#define INCLUDED_TEST_SHEET_XCELLRANGEMOVEMENT_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellRangeMovement
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testInsertCells();
+ void testCopyRange();
+ void testMoveRange();
+ void testRemoveRange();
+
+protected:
+ ~XCellRangeMovement() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XCELLRANGEMOVEMENT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xcellrangereferrer.hxx b/include/test/sheet/xcellrangereferrer.hxx
new file mode 100644
index 000000000..a2a659d17
--- /dev/null
+++ b/include/test/sheet/xcellrangereferrer.hxx
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLRANGEREFERRER_HXX
+#define INCLUDED_TEST_SHEET_XCELLRANGEREFERRER_HXX
+
+#include <com/sun/star/table/CellRangeAddress.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellRangeReferrer
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void setCellRange(css::table::CellRangeAddress aCellRange) { m_aCellRange = aCellRange; }
+ const css::table::CellRangeAddress& getCellRange() const { return m_aCellRange; }
+ void testGetReferredCells();
+
+protected:
+ ~XCellRangeReferrer() {}
+
+private:
+ css::table::CellRangeAddress m_aCellRange;
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XCELLRANGEREFERRER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xcellrangesquery.hxx b/include/test/sheet/xcellrangesquery.hxx
new file mode 100644
index 000000000..ba275295a
--- /dev/null
+++ b/include/test/sheet/xcellrangesquery.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLRANGESQUERY_HXX
+#define INCLUDED_TEST_SHEET_XCELLRANGESQUERY_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellRangesQuery
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ //Testcases
+ void testQueryColumnDifference();
+ void testQueryContentDifference();
+ void testQueryEmptyCells();
+ void testQueryFormulaCells();
+ void testQueryIntersection();
+ void testQueryRowDifference();
+ void testQueryVisibleCells();
+
+protected:
+ ~XCellRangesQuery() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XCELLRANGESQUERY_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xcellseries.hxx b/include/test/sheet/xcellseries.hxx
new file mode 100644
index 000000000..d51d6d9e3
--- /dev/null
+++ b/include/test/sheet/xcellseries.hxx
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCELLSERIES_HXX
+#define INCLUDED_TEST_SHEET_XCELLSERIES_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XCellSeries
+{
+public:
+ XCellSeries(sal_Int32 aStartX, sal_Int32 aStartY) : maStartX(aStartX), maStartY(aStartY){}
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+ virtual ~XCellSeries(){}
+
+ void testFillAuto();
+ void testFillSeries();
+
+private:
+ sal_Int32 maStartX;
+ sal_Int32 maStartY;
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XCELLSERIES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/include/test/sheet/xconsolidatable.hxx b/include/test/sheet/xconsolidatable.hxx
new file mode 100644
index 000000000..9edb59108
--- /dev/null
+++ b/include/test/sheet/xconsolidatable.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCONSOLIDATABLE_HXX
+#define INCLUDED_TEST_SHEET_XCONSOLIDATABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XConsolidatable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testCreateConsolidationDescriptor();
+ void testConsolidate();
+
+protected:
+ ~XConsolidatable() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XCONSOLIDATABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xconsolidationdescriptor.hxx b/include/test/sheet/xconsolidationdescriptor.hxx
new file mode 100644
index 000000000..ff5fb5b82
--- /dev/null
+++ b/include/test/sheet/xconsolidationdescriptor.hxx
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XCONSOLIDATIONDESCRIPTOR_HXX
+#define INCLUDED_TEST_SHEET_XCONSOLIDATIONDESCRIPTOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XConsolidationDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetFunction();
+ void testSetFunction();
+ void testGetSources();
+ void testSetSources();
+ void testGetStartOutputPosition();
+ void testSetStartOutputPosition();
+ void testGetUseColumnHeaders();
+ void testSetUseColumnHeaders();
+ void testGetUseRowHeaders();
+ void testSetUseRowHeaders();
+ void testGetInsertLinks();
+ void testSetInsertLinks();
+
+protected:
+ ~XConsolidationDescriptor() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XCONSOLIDATIONDESCRIPTOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xdatabaserange.hxx b/include/test/sheet/xdatabaserange.hxx
new file mode 100644
index 000000000..388b89d9a
--- /dev/null
+++ b/include/test/sheet/xdatabaserange.hxx
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATABASERANGE_HXX
+#define INCLUDED_TEST_SHEET_XDATABASERANGE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDatabaseRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init(const OUString& rDBName) = 0;
+
+ void testDataArea();
+ void testGetSortDescriptor();
+ void testGetSubtotalDescriptor();
+ void testGetImportDescriptor();
+ void testGetFilterDescriptor();
+ void testRefresh();
+
+protected:
+ ~XDatabaseRange() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATABASERANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xdatabaseranges.hxx b/include/test/sheet/xdatabaseranges.hxx
new file mode 100644
index 000000000..b42e6fcc9
--- /dev/null
+++ b/include/test/sheet/xdatabaseranges.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATABASERANGES_HXX
+#define INCLUDED_TEST_SHEET_XDATABASERANGES_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDatabaseRanges
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testAddRemoveDbRanges();
+
+protected:
+ ~XDatabaseRanges() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATABASERANGES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xdatapilotdescriptor.hxx b/include/test/sheet/xdatapilotdescriptor.hxx
new file mode 100644
index 000000000..9186b52eb
--- /dev/null
+++ b/include/test/sheet/xdatapilotdescriptor.hxx
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATAPILOTDESCRIPTOR_HXX
+#define INCLUDED_TEST_SHEET_XDATAPILOTDESCRIPTOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/sheet/XDataPilotDescriptor.hpp>
+
+#include <test/testdllapi.hxx>
+
+#include <vector>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XDataPilotDescriptor
+{
+public:
+ void testSourceRange();
+ void testTag();
+ void testGetFilterDescriptor();
+ void testGetDataPilotFields();
+ void testGetColumnFields();
+ void testGetRowFields();
+ void testGetPageFields();
+ void testGetDataFields();
+ void testGetHiddenFields();
+
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+
+protected:
+ ~XDataPilotDescriptor() {}
+
+private:
+ static void testGetDataPilotFields_Impl( css::uno::Reference< css::sheet::XDataPilotDescriptor > const & xDescr );
+
+ static void checkName( css::uno::Reference< css::container::XIndexAccess > const & xIndex, sal_Int32 nIndex );
+ static std::vector<OUString> maFieldNames;
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATAPILOTDESCRIPTOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xdatapilotfield.hxx b/include/test/sheet/xdatapilotfield.hxx
new file mode 100644
index 000000000..6622b71bc
--- /dev/null
+++ b/include/test/sheet/xdatapilotfield.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATAPILOTFIELD_HXX
+#define INCLUDED_TEST_SHEET_XDATAPILOTFIELD_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDataPilotField
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetItems();
+
+protected:
+ ~XDataPilotField() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATAPILOTFIELD_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xdatapilotfieldgrouping.hxx b/include/test/sheet/xdatapilotfieldgrouping.hxx
new file mode 100644
index 000000000..550857212
--- /dev/null
+++ b/include/test/sheet/xdatapilotfieldgrouping.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATAPILOTFIELDGROUPING_HXX
+#define INCLUDED_TEST_SHEET_XDATAPILOTFIELDGROUPING_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XDataPilotFieldGrouping
+{
+public:
+ void testCreateNameGroup();
+ void testCreateDateGroup();
+
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+
+protected:
+ ~XDataPilotFieldGrouping() {}
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATAPILOTFIELDGROUPING_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xdatapilottable.hxx b/include/test/sheet/xdatapilottable.hxx
new file mode 100644
index 000000000..05ba1e293
--- /dev/null
+++ b/include/test/sheet/xdatapilottable.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATAPILOTTABLE_HXX
+#define INCLUDED_TEST_SHEET_XDATAPILOTTABLE_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/table/XCell.hpp>
+#include <test/testdllapi.hxx>
+
+#include <cppunit/extensions/HelperMacros.h>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XDataPilotTable
+{
+public:
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+ virtual ~XDataPilotTable();
+
+ void testGetOutputRange();
+ void testRefresh();
+
+protected:
+ css::uno::Reference< css::table::XCell > xCellForChange;
+ css::uno::Reference< css::table::XCell > xCellForCheck;
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATAPILOTTABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xdatapilottable2.hxx b/include/test/sheet/xdatapilottable2.hxx
new file mode 100644
index 000000000..a7ffde07d
--- /dev/null
+++ b/include/test/sheet/xdatapilottable2.hxx
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATAPILOTTABLE2_HXX
+#define INCLUDED_TEST_SHEET_XDATAPILOTTABLE2_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/table/CellRangeAddress.hpp>
+#include <com/sun/star/table/CellAddress.hpp>
+#include <com/sun/star/sheet/XDataPilotTable2.hpp>
+#include <com/sun/star/sheet/XSpreadsheet.hpp>
+#include <com/sun/star/uno/Sequence.h>
+
+#include <test/testdllapi.hxx>
+
+#include <vector>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XDataPilotTable2
+{
+public:
+ void testGetPositionData();
+ void testGetDrillDownData();
+ void testGetOutputRangeByType();
+ void testInsertDrillDownSheet();
+ virtual ~XDataPilotTable2();
+
+ virtual css::uno::Reference< css::uno::XInterface > initDP2() = 0;
+ virtual css::uno::Reference< css::uno::XInterface > getSheets() = 0;
+
+protected:
+
+private:
+ static void checkDrillDownSheetContent(css::uno::Reference< css::sheet::XSpreadsheet > const & xSheet, const css::uno::Sequence< css::uno::Sequence < css::uno::Any > >& aData);
+
+ void getOutputRanges(css::uno::Reference< css::sheet::XDataPilotTable2 > const &);
+ void buildDataFields(css::uno::Reference< css::sheet::XDataPilotTable2 > const &);
+ void buildResultCells(css::uno::Reference< css::sheet::XDataPilotTable2 > const &);
+
+ std::vector< css::table::CellAddress > maResultCells;
+ std::vector< sal_Int32 > maDataFieldDims;
+ css::table::CellRangeAddress maRangeWhole;
+ css::table::CellRangeAddress maRangeTable;
+ css::table::CellRangeAddress maRangeResult;
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATAPILOTTABLE2_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xdatapilottables.hxx b/include/test/sheet/xdatapilottables.hxx
new file mode 100644
index 000000000..f1d367164
--- /dev/null
+++ b/include/test/sheet/xdatapilottables.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATAPILOTTABLES_HXX
+#define INCLUDED_TEST_SHEET_XDATAPILOTTABLES_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDataPilotTables
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet() = 0;
+
+ void testXDataPilotTables();
+
+protected:
+ ~XDataPilotTables() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATAPILOTTABLES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xdatapilottablessupplier.hxx b/include/test/sheet/xdatapilottablessupplier.hxx
new file mode 100644
index 000000000..ca1e623b3
--- /dev/null
+++ b/include/test/sheet/xdatapilottablessupplier.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDATAPILOTTABLESSUPPLIER_HXX
+#define INCLUDED_TEST_SHEET_XDATAPILOTTABLESSUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDataPilotTablesSupplier
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetDataPilotTables();
+
+protected:
+ ~XDataPilotTablesSupplier() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XDATAPILOTTABLESSUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xddelink.hxx b/include/test/sheet/xddelink.hxx
new file mode 100644
index 000000000..854462a0d
--- /dev/null
+++ b/include/test/sheet/xddelink.hxx
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDDELINK_HXX
+#define INCLUDED_TEST_SHEET_XDDELINK_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDDELink
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetApplication();
+ void testGetItem();
+ void testGetTopic();
+
+protected:
+ explicit XDDELink(OUString const& rURL)
+ : m_URL(rURL)
+ {
+ }
+ ~XDDELink() {}
+
+ OUString const m_URL;
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XDDELINK_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xddelinks.hxx b/include/test/sheet/xddelinks.hxx
new file mode 100644
index 000000000..8ceb07cdd
--- /dev/null
+++ b/include/test/sheet/xddelinks.hxx
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XDDELINKS_HXX
+#define INCLUDED_TEST_SHEET_XDDELINKS_HXX
+
+#include <rtl/ustring.hxx>
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDDELinks
+{
+public:
+ XDDELinks(const OUString& rTopic)
+ : m_aTopic(rTopic)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testAddDDELink();
+
+protected:
+ ~XDDELinks() {}
+
+private:
+ OUString const m_aTopic;
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XDDELINKS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xdocumentauditing.hxx b/include/test/sheet/xdocumentauditing.hxx
new file mode 100644
index 000000000..282db0226
--- /dev/null
+++ b/include/test/sheet/xdocumentauditing.hxx
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/awt/Point.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/drawing/XDrawPage.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XDocumentAuditing
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXMSF() = 0;
+
+ void testRefreshArrows();
+
+protected:
+ ~XDocumentAuditing() {}
+
+private:
+ bool hasRightAmountOfShapes(const css::uno::Reference<css::drawing::XDrawPage>& xDrawPage,
+ sal_Int32 nElementCount, sal_Int32 nShapes);
+ static void dispatch(const css::uno::Reference<css::frame::XFrame>& xFrame,
+ const css::uno::Sequence<css::beans::PropertyValue>& rArguments);
+ css::awt::Point m_Position;
+};
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xformulaquery.hxx b/include/test/sheet/xformulaquery.hxx
new file mode 100644
index 000000000..8382e961a
--- /dev/null
+++ b/include/test/sheet/xformulaquery.hxx
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XFORMULAQUERY_HXX
+#define INCLUDED_TEST_SHEET_XFORMULAQUERY_HXX
+
+#include <com/sun/star/table/XCell.hpp>
+#include <com/sun/star/table/CellRangeAddress.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XFormulaQuery
+{
+public:
+ XFormulaQuery(css::table::CellRangeAddress aCellRangeAddressDependents,
+ css::table::CellRangeAddress aCellRangeAddressPrecedents,
+ unsigned int nIdxDependents = 1, unsigned int nIdxPrecedents = 1)
+ : m_aCellRangeAddressDependents(aCellRangeAddressDependents)
+ , m_aCellRangeAddressPrecedents(aCellRangeAddressPrecedents)
+ , m_nIdxDependents(nIdxDependents)
+ , m_nIdxPrecedents(nIdxPrecedents)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet() = 0;
+ void setXCell(css::uno::Reference<css::table::XCell> xCell) { m_xCell = xCell; }
+ css::uno::Reference<css::table::XCell> const& getXCell() const { return m_xCell; }
+
+ void testQueryDependents();
+ void testQueryPrecedents();
+
+protected:
+ ~XFormulaQuery() {}
+
+private:
+ css::uno::Reference<css::table::XCell> m_xCell;
+ css::table::CellRangeAddress m_aCellRangeAddressDependents;
+ css::table::CellRangeAddress m_aCellRangeAddressPrecedents;
+ unsigned int m_nIdxDependents;
+ unsigned int m_nIdxPrecedents;
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XFORMULAQUERY_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xfunctiondescriptions.hxx b/include/test/sheet/xfunctiondescriptions.hxx
new file mode 100644
index 000000000..ffffe3b59
--- /dev/null
+++ b/include/test/sheet/xfunctiondescriptions.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XFUNCTIONDESCRIPTIONS_HXX
+#define INCLUDED_TEST_SHEET_XFUNCTIONDESCRIPTIONS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XFunctionDescriptions
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetById();
+
+protected:
+ ~XFunctionDescriptions() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XFUNCTIONDESCRIPTIONS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xgoalseek.hxx b/include/test/sheet/xgoalseek.hxx
new file mode 100644
index 000000000..08eeae92a
--- /dev/null
+++ b/include/test/sheet/xgoalseek.hxx
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XGOALSEEK_HXX
+#define INCLUDED_TEST_SHEET_XGOALSEEK_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XGoalSeek
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSeekGoal();
+
+protected:
+ virtual ~XGoalSeek() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XGOALSEEK_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xheaderfootercontent.hxx b/include/test/sheet/xheaderfootercontent.hxx
new file mode 100644
index 000000000..64d3fea46
--- /dev/null
+++ b/include/test/sheet/xheaderfootercontent.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XHEADERFOOTERCONTENT_HXX
+#define INCLUDED_TEST_SHEET_XHEADERFOOTERCONTENT_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XHeaderFooterContent
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetCenterText();
+ void testGetLeftText();
+ void testGetRightText();
+
+protected:
+ ~XHeaderFooterContent() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XHEADERFOOTERCONTENT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xlabelrange.hxx b/include/test/sheet/xlabelrange.hxx
new file mode 100644
index 000000000..24d2f3a07
--- /dev/null
+++ b/include/test/sheet/xlabelrange.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XLABELRANGE_HXX
+#define INCLUDED_TEST_SHEET_XLABELRANGE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XLabelRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetDataArea();
+ void testGetSetLabelArea();
+
+protected:
+ ~XLabelRange() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XLABELRANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xlabelranges.hxx b/include/test/sheet/xlabelranges.hxx
new file mode 100644
index 000000000..820c031d7
--- /dev/null
+++ b/include/test/sheet/xlabelranges.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XLABELRANGES_HXX
+#define INCLUDED_TEST_SHEET_XLABELRANGES_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XLabelRanges
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testAddNew();
+ void testRemoveByIndex();
+
+protected:
+ ~XLabelRanges() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XLABELRANGES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xmultiformulatokens.hxx b/include/test/sheet/xmultiformulatokens.hxx
new file mode 100644
index 000000000..8f883a320
--- /dev/null
+++ b/include/test/sheet/xmultiformulatokens.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XMULTIFORMULATOKENS_HXX
+#define INCLUDED_TEST_SHEET_XMULTIFORMULATOKENS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XMultiFormulaTokens
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual void setUp() = 0;
+ virtual void tearDown() = 0;
+
+ void testGetCount();
+ void testGetSetTokens();
+
+protected:
+ ~XMultiFormulaTokens() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XMULTIFORMULATOKENS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xmultipleoperation.hxx b/include/test/sheet/xmultipleoperation.hxx
new file mode 100644
index 000000000..107902da1
--- /dev/null
+++ b/include/test/sheet/xmultipleoperation.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XMULTIPLEOPERATION_HXX
+#define INCLUDED_TEST_SHEET_XMULTIPLEOPERATION_HXX
+
+#include <com/sun/star/sheet/XSpreadsheet.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XMultipleOperation
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet() = 0;
+
+ void testSetTableOperation();
+
+protected:
+ ~XMultipleOperation() {}
+
+private:
+ static void fillCells(css::uno::Reference<css::sheet::XSpreadsheet> const&);
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XMULTIPLEOPERATION_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xnamedrange.hxx b/include/test/sheet/xnamedrange.hxx
new file mode 100644
index 000000000..f088bf2ab
--- /dev/null
+++ b/include/test/sheet/xnamedrange.hxx
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XNAMEDRANGE_HXX
+#define INCLUDED_TEST_SHEET_XNAMEDRANGE_HXX
+
+#include <rtl/ustring.hxx>
+#include <com/sun/star/sheet/XNamedRange.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XNamedRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ // XNamedRange
+ void testGetContent();
+ void testSetContent();
+ void testGetType();
+ void testSetType();
+ void testGetReferencePosition();
+ void testSetReferencePosition();
+
+protected:
+ ~XNamedRange() {}
+
+ virtual css::uno::Reference<css::sheet::XNamedRange> getNamedRange(const OUString&) = 0;
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XNAMEDRANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xnamedranges.hxx b/include/test/sheet/xnamedranges.hxx
new file mode 100644
index 000000000..8d02773f8
--- /dev/null
+++ b/include/test/sheet/xnamedranges.hxx
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XNAMEDRANGES_HXX
+#define INCLUDED_TEST_SHEET_XNAMEDRANGES_HXX
+
+#include <com/sun/star/sheet/XSpreadsheet.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <rtl/ustring.hxx>
+#include <sal/types.h>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XNamedRanges
+{
+public:
+ // remove default entry
+ XNamedRanges()
+ : maNameToRemove("initial1")
+ {
+ }
+
+ // removes given entry
+ XNamedRanges(const OUString& rNameToRemove)
+ : maNameToRemove(rNameToRemove)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXNamedRanges(sal_Int32 nSheet = 0) = 0;
+
+ // XNamedRanges
+ void testAddNewByName();
+ void testAddNewFromTitles();
+ void testRemoveByName();
+ void testOutputList();
+
+protected:
+ ~XNamedRanges(){};
+ css::uno::Reference<css::sheet::XSpreadsheet> xSheet;
+
+private:
+ OUString maNameToRemove;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XNAMEDRANGES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xprintareas.hxx b/include/test/sheet/xprintareas.hxx
new file mode 100644
index 000000000..b3edbeb7d
--- /dev/null
+++ b/include/test/sheet/xprintareas.hxx
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XPRINTAREAS_HXX
+#define INCLUDED_TEST_SHEET_XPRINTAREAS_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XPrintAreas
+{
+public:
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+
+ void testSetAndGetPrintTitleColumns(); //getter and setter in one test case
+ void testSetAndGetPrintTitleRows();
+
+ void testGetPrintAreas(); // returns a sequence containing all print areas of the sheet.
+ void testSetPrintAreas(); // sets the print areas of the sheet.
+ void testGetTitleColumns(); // returns the range that is specified as title columns range.
+ void testSetTitleColumns(); // specifies a range of columns as title columns range.
+ void testGetTitleRows(); // returns the range that is specified as title rows range.
+ void testSetTitleRows(); // specifies a range of rows as title rows range.
+
+protected:
+ ~XPrintAreas() {}
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XPRINTAREAS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xrecentfunctions.hxx b/include/test/sheet/xrecentfunctions.hxx
new file mode 100644
index 000000000..8f7ac55a2
--- /dev/null
+++ b/include/test/sheet/xrecentfunctions.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XRECENTFUNCTIONS_HXX
+#define INCLUDED_TEST_SHEET_XRECENTFUNCTIONS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XRecentFunctions
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetRecentFunctionIds();
+ void testSetRecentFunctionIds();
+ void testGetMaxRecentFunctions();
+
+protected:
+ ~XRecentFunctions() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XRECENTFUNCTIONS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xscenario.hxx b/include/test/sheet/xscenario.hxx
new file mode 100644
index 000000000..8892d26c1
--- /dev/null
+++ b/include/test/sheet/xscenario.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSCENARIO_HXX
+#define INCLUDED_TEST_SHEET_XSCENARIO_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XScenario
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> getScenarioSpreadsheet() = 0;
+
+ void testScenario();
+
+protected:
+ ~XScenario() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XSCENARIO_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xscenarioenhanced.hxx b/include/test/sheet/xscenarioenhanced.hxx
new file mode 100644
index 000000000..ff5261f31
--- /dev/null
+++ b/include/test/sheet/xscenarioenhanced.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSCENARIOENHANCED_HXX
+#define INCLUDED_TEST_SHEET_XSCENARIOENHANCED_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XScenarioEnhanced
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> getScenarioSpreadsheet() = 0;
+
+ void testGetRanges();
+
+protected:
+ ~XScenarioEnhanced() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSCENARIOENHANCED_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xscenarios.hxx b/include/test/sheet/xscenarios.hxx
new file mode 100644
index 000000000..f890a5030
--- /dev/null
+++ b/include/test/sheet/xscenarios.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSCENARIOS_HXX
+#define INCLUDED_TEST_SHEET_XSCENARIOS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XScenarios
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testAddNewByName();
+ void testRemoveByName();
+
+protected:
+ ~XScenarios() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSCENARIOS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xscenariossupplier.hxx b/include/test/sheet/xscenariossupplier.hxx
new file mode 100644
index 000000000..e4a6eea11
--- /dev/null
+++ b/include/test/sheet/xscenariossupplier.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSCENARIOSSUPPLIER_HXX
+#define INCLUDED_TEST_SHEET_XSCENARIOSSUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XScenariosSupplier
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetScenarios();
+
+protected:
+ ~XScenariosSupplier() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSCENARIOSSUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetannotation.hxx b/include/test/sheet/xsheetannotation.hxx
new file mode 100644
index 000000000..0003d8b11
--- /dev/null
+++ b/include/test/sheet/xsheetannotation.hxx
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETANNOTATION_HXX
+#define INCLUDED_TEST_SHEET_XSHEETANNOTATION_HXX
+
+#include <com/sun/star/sheet/XSheetAnnotation.hpp>
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/table/CellAddress.hpp>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetAnnotation
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ // XSheetAnnotation
+ void testGetPosition();
+ void testGetAuthor();
+ void testGetDate();
+ void testGetIsVisible();
+ void testSetIsVisible();
+
+protected:
+ ~XSheetAnnotation() {}
+
+ virtual css::uno::Reference<css::sheet::XSheetAnnotation>
+ getAnnotation(css::table::CellAddress&) = 0;
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETANNOTATION_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetannotationanchor.hxx b/include/test/sheet/xsheetannotationanchor.hxx
new file mode 100644
index 000000000..a0c6fc58d
--- /dev/null
+++ b/include/test/sheet/xsheetannotationanchor.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETANNOTATIONANCHOR_HXX
+#define INCLUDED_TEST_SHEET_XSHEETANNOTATIONANCHOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetAnnotationAnchor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetAnnotation();
+
+protected:
+ ~XSheetAnnotationAnchor() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETANNOTATIONANCHOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetannotations.hxx b/include/test/sheet/xsheetannotations.hxx
new file mode 100644
index 000000000..f9b92968f
--- /dev/null
+++ b/include/test/sheet/xsheetannotations.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETANNOTATIONS_HXX
+#define INCLUDED_TEST_SHEET_XSHEETANNOTATIONS_HXX
+
+#include <com/sun/star/sheet/XSheetAnnotations.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+#include <tools/long.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XSheetAnnotations
+{
+public:
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+ virtual css::uno::Reference< css::sheet::XSheetAnnotations> getAnnotations(tools::Long nIndex) = 0;
+
+ // XSheetAnnotations
+ void testIndex();
+ void testInsertNew();
+ void testRemoveByIndex();
+ void testCount();
+
+protected:
+ ~XSheetAnnotations() {}
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETANNOTATIONS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetannotationshapesupplier.hxx b/include/test/sheet/xsheetannotationshapesupplier.hxx
new file mode 100644
index 000000000..72600c1aa
--- /dev/null
+++ b/include/test/sheet/xsheetannotationshapesupplier.hxx
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETANNOTATIONSHAPESUPPLIER_HXX
+#define INCLUDED_TEST_SHEET_XSHEETANNOTATIONSHAPESUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XSheetAnnotationShapeSupplier
+{
+public:
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+ virtual ~XSheetAnnotationShapeSupplier(){}
+
+ void testGetAnnotationShape();
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETANNOTATIONSHAPESUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetannotationssupplier.hxx b/include/test/sheet/xsheetannotationssupplier.hxx
new file mode 100644
index 000000000..cc9e008ec
--- /dev/null
+++ b/include/test/sheet/xsheetannotationssupplier.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETANNOTATIONSSUPPLIER_HXX
+#define INCLUDED_TEST_SHEET_XSHEETANNOTATIONSSUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetAnnotationsSupplier
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetAnnotations();
+
+protected:
+ ~XSheetAnnotationsSupplier() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETANNOTATIONSSUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetauditing.hxx b/include/test/sheet/xsheetauditing.hxx
new file mode 100644
index 000000000..44c1ddd5c
--- /dev/null
+++ b/include/test/sheet/xsheetauditing.hxx
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETAUDITING_HXX
+#define INCLUDED_TEST_SHEET_XSHEETAUDITING_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetAuditing
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testShowHideDependents();
+ void testShowHidePrecedents();
+ void testShowErrors();
+ void testShowInvalid();
+ void testClearArrows();
+
+protected:
+ ~XSheetAuditing() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETAUDITING_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetcellcursor.hxx b/include/test/sheet/xsheetcellcursor.hxx
new file mode 100644
index 000000000..3686ac521
--- /dev/null
+++ b/include/test/sheet/xsheetcellcursor.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETCELLCURSOR_HXX
+#define INCLUDED_TEST_SHEET_XSHEETCELLCURSOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetCellCursor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testCollapseToCurrentArray();
+ void testCollapseToCurrentRegion();
+ void testCollapseToMergedArea();
+ void testCollapseToSize();
+ void testExpandToEntireColumns();
+ void testExpandToEntireRows();
+
+protected:
+ ~XSheetCellCursor() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETCELLCURSOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetcellrange.hxx b/include/test/sheet/xsheetcellrange.hxx
new file mode 100644
index 000000000..42ce2d094
--- /dev/null
+++ b/include/test/sheet/xsheetcellrange.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETCELLRANGE_HXX
+#define INCLUDED_TEST_SHEET_XSHEETCELLRANGE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetCellRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSpreadsheet();
+
+protected:
+ ~XSheetCellRange() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETCELLRANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetcellrangecontainer.hxx b/include/test/sheet/xsheetcellrangecontainer.hxx
new file mode 100644
index 000000000..734c2c4e2
--- /dev/null
+++ b/include/test/sheet/xsheetcellrangecontainer.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETCELLRANGECONTAINER_HXX
+#define INCLUDED_TEST_SHEET_XSHEETCELLRANGECONTAINER_HXX
+
+#include <com/sun/star/table/CellRangeAddress.hpp>
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetCellRangeContainer
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testAddRemoveRangeAddress();
+ void testAddRemoveRangeAddresses();
+
+protected:
+ ~XSheetCellRangeContainer() {}
+ static css::uno::Sequence<com::sun::star::table::CellRangeAddress> createCellRangeAddresses();
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETCELLRANGECONTAINER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetcellranges.hxx b/include/test/sheet/xsheetcellranges.hxx
new file mode 100644
index 000000000..4f21f446c
--- /dev/null
+++ b/include/test/sheet/xsheetcellranges.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETCELLRANGES_HXX
+#define INCLUDED_TEST_SHEET_XSHEETCELLRANGES_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetCellRanges
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetCells();
+ void testGetRangeAddresses();
+ void testGetRangeAddressesAsString();
+
+protected:
+ ~XSheetCellRanges() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETCELLRANGES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetcondition.hxx b/include/test/sheet/xsheetcondition.hxx
new file mode 100644
index 000000000..c69625f44
--- /dev/null
+++ b/include/test/sheet/xsheetcondition.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETCONDITION_HXX
+#define INCLUDED_TEST_SHEET_XSHEETCONDITION_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetCondition
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetFormula1();
+ void testGetSetFormula2();
+ void testGetSetOperator();
+ void testGetSetSourcePosition();
+
+protected:
+ ~XSheetCondition() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETCONDITION_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetconditionalentries.hxx b/include/test/sheet/xsheetconditionalentries.hxx
new file mode 100644
index 000000000..673e7ceb1
--- /dev/null
+++ b/include/test/sheet/xsheetconditionalentries.hxx
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETCONDITIONALENTRIES_HXX
+#define INCLUDED_TEST_SHEET_XSHEETCONDITIONALENTRIES_HXX
+
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetConditionalEntries
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Sequence<com::sun::star::beans::PropertyValue>
+ createCondition(const sal_Int32 nr) = 0;
+
+ void testAddNew();
+ void testClear();
+ void testRemoveByIndex();
+
+protected:
+ ~XSheetConditionalEntries() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETCONDITIONALENTRIES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetconditionalentry.hxx b/include/test/sheet/xsheetconditionalentry.hxx
new file mode 100644
index 000000000..d143f7843
--- /dev/null
+++ b/include/test/sheet/xsheetconditionalentry.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETCONDITIONALENTRY_HXX
+#define INCLUDED_TEST_SHEET_XSHEETCONDITIONALENTRY_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetConditionalEntry
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetStyleName();
+
+protected:
+ ~XSheetConditionalEntry() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETCONDITIONALENTRY_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetfilterable.hxx b/include/test/sheet/xsheetfilterable.hxx
new file mode 100644
index 000000000..a46b10b07
--- /dev/null
+++ b/include/test/sheet/xsheetfilterable.hxx
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETFILTERABLE_HXX
+#define INCLUDED_TEST_SHEET_XSHEETFILTERABLE_HXX
+
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XSheetFilterable
+{
+public:
+ virtual css::uno::Reference< css::uno::XInterface > init() =0;
+ virtual css::uno::Reference< css::uno::XInterface > getXSpreadsheet() =0;
+
+ void testCreateFilterDescriptor();
+ void testFilter();
+
+protected:
+ ~XSheetFilterable() {}
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETFILTERABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetfilterableex.hxx b/include/test/sheet/xsheetfilterableex.hxx
new file mode 100644
index 000000000..71be889a3
--- /dev/null
+++ b/include/test/sheet/xsheetfilterableex.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETFILTERABLEEX_HXX
+#define INCLUDED_TEST_SHEET_XSHEETFILTERABLEEX_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetFilterableEx
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet() = 0;
+
+ void testCreateFilterDescriptorByObject();
+
+protected:
+ ~XSheetFilterableEx() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETFILTERABLEEX_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetfilterdescriptor.hxx b/include/test/sheet/xsheetfilterdescriptor.hxx
new file mode 100644
index 000000000..65620f0f0
--- /dev/null
+++ b/include/test/sheet/xsheetfilterdescriptor.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR_HXX
+#define INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetFilterDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetFilterFields();
+
+protected:
+ ~XSheetFilterDescriptor() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetfilterdescriptor2.hxx b/include/test/sheet/xsheetfilterdescriptor2.hxx
new file mode 100644
index 000000000..7555c65cb
--- /dev/null
+++ b/include/test/sheet/xsheetfilterdescriptor2.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR2_HXX
+#define INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR2_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetFilterDescriptor2
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetFilterFields2();
+
+protected:
+ ~XSheetFilterDescriptor2() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR2_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetfilterdescriptor3.hxx b/include/test/sheet/xsheetfilterdescriptor3.hxx
new file mode 100644
index 000000000..1d8f94087
--- /dev/null
+++ b/include/test/sheet/xsheetfilterdescriptor3.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR3_HXX
+#define INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR3_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetFilterDescriptor3
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetFilterFields3();
+
+protected:
+ ~XSheetFilterDescriptor3() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_SHEET_XSHEETFILTERDESCRIPTOR3_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsheetlinkable.hxx b/include/test/sheet/xsheetlinkable.hxx
new file mode 100644
index 000000000..fc239fb7b
--- /dev/null
+++ b/include/test/sheet/xsheetlinkable.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETLINKABLE_HXX
+#define INCLUDED_TEST_SHEET_XSHEETLINKABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetLinkable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual OUString getFileURL() = 0;
+
+ void testSheetLinkable();
+
+protected:
+ ~XSheetLinkable() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETLINKABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetoperation.hxx b/include/test/sheet/xsheetoperation.hxx
new file mode 100644
index 000000000..ea436ce38
--- /dev/null
+++ b/include/test/sheet/xsheetoperation.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETOPERATION_HXX
+#define INCLUDED_TEST_SHEET_XSHEETOPERATION_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetOperation
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testComputeFunction();
+ void testClearContents();
+
+protected:
+ ~XSheetOperation() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETOPERATION_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetoutline.hxx b/include/test/sheet/xsheetoutline.hxx
new file mode 100644
index 000000000..0210e6214
--- /dev/null
+++ b/include/test/sheet/xsheetoutline.hxx
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETOUTLINE_HXX
+#define INCLUDED_TEST_SHEET_XSHEETOUTLINE_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetOutline
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ // XSheetOutline
+ void testHideDetail();
+ void testShowDetail();
+ void testShowLevel();
+ void testUngroup();
+ void testGroup();
+ void testClearOutline();
+
+protected:
+ ~XSheetOutline() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETOUTLINE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xsheetpagebreak.hxx b/include/test/sheet/xsheetpagebreak.hxx
new file mode 100644
index 000000000..e7a47628d
--- /dev/null
+++ b/include/test/sheet/xsheetpagebreak.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSHEETPAGEBREAK_HXX
+#define INCLUDED_TEST_SHEET_XSHEETPAGEBREAK_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSheetPageBreak
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetColumnPageBreaks();
+ void testGetRowPageBreaks();
+ void testRemoveAllManualPageBreaks();
+
+protected:
+ ~XSheetPageBreak() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSHEETPAGEBREAK_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xspreadsheet.hxx b/include/test/sheet/xspreadsheet.hxx
new file mode 100644
index 000000000..8033b8e55
--- /dev/null
+++ b/include/test/sheet/xspreadsheet.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSPREADSHEET_HXX
+#define INCLUDED_TEST_SHEET_XSPREADSHEET_HXX
+
+#include <test/testdllapi.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSpreadsheet
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testCreateCursor();
+ void testCreateCursorByRange();
+
+protected:
+ ~XSpreadsheet() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSPREADSHEET_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xspreadsheetdocument.hxx b/include/test/sheet/xspreadsheetdocument.hxx
new file mode 100644
index 000000000..8f5662489
--- /dev/null
+++ b/include/test/sheet/xspreadsheetdocument.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSPREADSHEETDOCUMENT_HXX
+#define INCLUDED_TEST_SHEET_XSPREADSHEETDOCUMENT_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest {
+
+class XSpreadsheetDocument
+{
+public:
+ XSpreadsheetDocument(sal_Int32 nSheets) : mnSheets(nSheets) {}
+
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+
+ void testGetSheets();
+
+protected:
+ ~XSpreadsheetDocument() {}
+
+private:
+ sal_Int32 mnSheets;
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XSPREADSHEETDOCUMENT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xspreadsheets.hxx b/include/test/sheet/xspreadsheets.hxx
new file mode 100644
index 000000000..2ec471db6
--- /dev/null
+++ b/include/test/sheet/xspreadsheets.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSPREADSHEETS_HXX
+#define INCLUDED_TEST_SHEET_XSPREADSHEETS_HXX
+
+#include <test/testdllapi.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSpreadsheets
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~XSpreadsheets() {}
+
+ void testInsertNewByName();
+ void testInsertNewByNameBadName();
+ void testMoveByName();
+ void testCopyByName();
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSPREADSHEETS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xspreadsheets2.hxx b/include/test/sheet/xspreadsheets2.hxx
new file mode 100644
index 000000000..e96367d94
--- /dev/null
+++ b/include/test/sheet/xspreadsheets2.hxx
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSPREADSHEETS2_HXX
+#define INCLUDED_TEST_SHEET_XSPREADSHEETS2_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
+#include <com/sun/star/sheet/XSpreadsheet.hpp>
+#include <com/sun/star/sheet/XNamedRanges.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XSpreadsheets2
+{
+public:
+ XSpreadsheets2();
+ virtual ~XSpreadsheets2();
+
+ // XSpreadsheets2
+ void testImportedSheetNameAndIndex();
+ void testImportString();
+ void testImportValue();
+ void testImportFormulaBasicMath();
+ void testImportFormulaWithNamedRange();
+ void testImportOverExistingNamedRange();
+ void testImportNamedRangeDefinedInSource();
+ void testImportNamedRangeRedefinedInSource();
+ void testImportNewNamedRange();
+ void testImportCellStyle();
+ void testLastAfterInsertCopy();
+
+ virtual css::uno::Reference< css::lang::XComponent > getComponent() = 0;
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+ virtual css::uno::Reference< css::lang::XComponent > loadFromDesktop(const OUString&) = 0;
+ virtual void createFileURL(const OUString&, OUString&) = 0;
+
+protected:
+ css::uno::Reference< css::sheet::XSpreadsheetDocument> xDocument;
+
+private:
+ css::uno::Reference< css::sheet::XSpreadsheetDocument> getDoc(const OUString&);
+ static css::uno::Reference< css::sheet::XNamedRanges> getNamedRanges(css::uno::Reference< css::sheet::XSpreadsheetDocument > const &);
+ void importSheetToCopy();
+ static bool isExternalReference(const OUString& aDestContent, std::u16string_view aSrcContent );
+
+ css::uno::Reference< css::sheet::XSpreadsheetDocument> xDestDoc;
+ css::uno::Reference< css::sheet::XSpreadsheet > xDestSheet;
+ css::uno::Reference< css::sheet::XSpreadsheet > xSrcSheet;
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XSPREADSHEETS2_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xspreadsheetview.hxx b/include/test/sheet/xspreadsheetview.hxx
new file mode 100644
index 000000000..144b54ac1
--- /dev/null
+++ b/include/test/sheet/xspreadsheetview.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSPREADSHEETVIEW_HXX
+#define INCLUDED_TEST_SHEET_XSPREADSHEETVIEW_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSpreadsheetView
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetActiveSheet();
+
+protected:
+ ~XSpreadsheetView() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XSPREADSHEETVIEW_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsubtotalcalculatable.hxx b/include/test/sheet/xsubtotalcalculatable.hxx
new file mode 100644
index 000000000..2160816d3
--- /dev/null
+++ b/include/test/sheet/xsubtotalcalculatable.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSUBTOTALCALCULATABLE_HXX
+#define INCLUDED_TEST_SHEET_XSUBTOTALCALCULATABLE_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSubTotalCalculatable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet() = 0;
+
+ void testCreateSubTotalDescriptor();
+ void testApplyRemoveSubTotals();
+
+protected:
+ ~XSubTotalCalculatable() {}
+};
+}
+#endif // INCLUDED_TEST_SHEET_XSUBTOTALCALCULATABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsubtotaldescriptor.hxx b/include/test/sheet/xsubtotaldescriptor.hxx
new file mode 100644
index 000000000..dc570c181
--- /dev/null
+++ b/include/test/sheet/xsubtotaldescriptor.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSUBTOTALDESCRIPTOR_HXX
+#define INCLUDED_TEST_SHEET_XSUBTOTALDESCRIPTOR_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSubTotalDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testAddNew();
+ void testClear();
+
+protected:
+ ~XSubTotalDescriptor() {}
+};
+}
+#endif // INCLUDED_TEST_SHEET_XSUBTOTALDESCRIPTOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xsubtotalfield.hxx b/include/test/sheet/xsubtotalfield.hxx
new file mode 100644
index 000000000..c5925ee6c
--- /dev/null
+++ b/include/test/sheet/xsubtotalfield.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XSUBTOTALFIELD_HXX
+#define INCLUDED_TEST_SHEET_XSUBTOTALFIELD_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSubTotalField
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetGroupColumn();
+ void testGetSetTotalColumns();
+
+protected:
+ ~XSubTotalField() {}
+};
+}
+#endif // INCLUDED_TEST_SHEET_XSUBTOTALFIELD_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xuniquecellformatrangessupplier.hxx b/include/test/sheet/xuniquecellformatrangessupplier.hxx
new file mode 100644
index 000000000..f3adcc216
--- /dev/null
+++ b/include/test/sheet/xuniquecellformatrangessupplier.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XUNIQUECELLFORMATRANGESSUPPLIER_HXX
+#define INCLUDED_TEST_SHEET_XUNIQUECELLFORMATRANGESSUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XUniqueCellFormatRangesSupplier
+{
+public:
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+
+ void testGetUniqueCellFormatRanges();
+
+protected:
+ ~XUniqueCellFormatRangesSupplier() {}
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XUNIQUECELLFORMATRANGESSUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xusedareacursor.hxx b/include/test/sheet/xusedareacursor.hxx
new file mode 100644
index 000000000..95b4fe402
--- /dev/null
+++ b/include/test/sheet/xusedareacursor.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XUSEDAREACURSOR_HXX
+#define INCLUDED_TEST_SHEET_XUSEDAREACURSOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XUsedAreaCursor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet() = 0;
+ virtual ~XUsedAreaCursor() {}
+
+ void testGotoStartOfUsedArea();
+ void testGotoEndOfUsedArea();
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XUSEDAREACURSOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xviewfreezable.hxx b/include/test/sheet/xviewfreezable.hxx
new file mode 100644
index 000000000..642e2eaf0
--- /dev/null
+++ b/include/test/sheet/xviewfreezable.hxx
@@ -0,0 +1,31 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XVIEWFREEZABLE_HXX
+#define INCLUDED_TEST_SHEET_XVIEWFREEZABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XViewFreezable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~XViewFreezable() {}
+
+ void testFreeze();
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XVIEWFREEZABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/sheet/xviewpane.hxx b/include/test/sheet/xviewpane.hxx
new file mode 100644
index 000000000..ba0689bd2
--- /dev/null
+++ b/include/test/sheet/xviewpane.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XVIEWPANE_HXX
+#define INCLUDED_TEST_SHEET_XVIEWPANE_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XViewPane
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testFirstVisibleColumn();
+ void testFirstVisibleRow();
+ void testVisibleRange();
+
+protected:
+ virtual ~XViewPane() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_XVIEWPANE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/sheet/xviewsplitable.hxx b/include/test/sheet/xviewsplitable.hxx
new file mode 100644
index 000000000..36956d375
--- /dev/null
+++ b/include/test/sheet/xviewsplitable.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_XVIEWSPLITABLE_HXX
+#define INCLUDED_TEST_SHEET_XVIEWSPLITABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XViewSplitable
+{
+
+public:
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+ virtual ~XViewSplitable(){}
+
+ void testSplit();
+};
+
+}
+
+#endif // INCLUDED_TEST_SHEET_XVIEWSPLITABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/style/xstyleloader.hxx b/include/test/style/xstyleloader.hxx
new file mode 100644
index 000000000..ca34a72cf
--- /dev/null
+++ b/include/test/style/xstyleloader.hxx
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_STYLE_XSTYLELOADER_HXX
+#define INCLUDED_TEST_STYLE_XSTYLELOADER_HXX
+
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
+#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <rtl/ustring.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XStyleLoader
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::sheet::XSpreadsheetDocument> getTargetDoc() = 0;
+ virtual css::uno::Reference<css::lang::XComponent> getSourceComponent() = 0;
+ virtual OUString getTestURL() = 0;
+
+ // XStyleLoader
+ void testLoadStylesFromURL();
+ void testLoadStylesFromStream();
+ // XStyleLoader2
+ void testLoadStylesFromDocument();
+
+private:
+ static void checkStyleProperties(
+ css::uno::Reference<css::style::XStyleFamiliesSupplier> const& xFamilySupplier);
+
+protected:
+ ~XStyleLoader() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_STYLE_XSTYLELOADER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/tablecolumn.hxx b/include/test/table/tablecolumn.hxx
new file mode 100644
index 000000000..a6ea3a01b
--- /dev/null
+++ b/include/test/table/tablecolumn.hxx
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/sheet/XSpreadsheet.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TableColumn
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ void setSpreadsheet(const css::uno::Reference<css::sheet::XSpreadsheet>& r_xSheet)
+ {
+ m_xSheet = r_xSheet;
+ }
+
+ void testTableColumnProperties();
+
+protected:
+ ~TableColumn() {}
+
+private:
+ css::uno::Reference<css::sheet::XSpreadsheet> m_xSheet;
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/tablerow.hxx b/include/test/table/tablerow.hxx
new file mode 100644
index 000000000..150534bb2
--- /dev/null
+++ b/include/test/table/tablerow.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TABLE_TABLEROW_HXX
+#define INCLUDED_TEST_TABLE_TABLEROW_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TableRow
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testTableRowProperties();
+
+protected:
+ ~TableRow() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_TABLE_TABLEROW_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xcell.hxx b/include/test/table/xcell.hxx
new file mode 100644
index 000000000..a0249aac9
--- /dev/null
+++ b/include/test/table/xcell.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_TABLE_XCELL_HXX
+#define INCLUDED_TEST_TABLE_XCELL_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCell
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetError();
+ void testGetType();
+ void testSetGetFormula();
+ void testSetGetValue();
+
+protected:
+ ~XCell() {}
+};
+}
+
+#endif // INCLUDED_TEST_TABLE_XCELL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xcellcursor.hxx b/include/test/table/xcellcursor.hxx
new file mode 100644
index 000000000..0fb5c0622
--- /dev/null
+++ b/include/test/table/xcellcursor.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_TABLE_XCELLCURSOR_HXX
+#define INCLUDED_TEST_TABLE_XCELLCURSOR_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellCursor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXSpreadsheet() = 0;
+
+ void testGoToNext();
+ void testGoToOffset();
+ void testGoToPrevious();
+ void testGoToStart();
+ void testGoToEnd();
+
+protected:
+ ~XCellCursor() {}
+};
+}
+
+#endif // INCLUDED_TEST_TABLE_XCELLCURSOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xcellrange.hxx b/include/test/table/xcellrange.hxx
new file mode 100644
index 000000000..78f965e9d
--- /dev/null
+++ b/include/test/table/xcellrange.hxx
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TABLE_XCELLRANGE_HXX
+#define INCLUDED_TEST_TABLE_XCELLRANGE_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XCellRange
+{
+public:
+ XCellRange()
+ : m_aRangeName("A1:A1")
+ {
+ }
+ XCellRange(const OUString& aRangeName)
+ : m_aRangeName(aRangeName)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetCellByPosition();
+ void testGetCellRangeByName();
+ void testGetCellRangeByPosition();
+
+protected:
+ ~XCellRange() {}
+
+private:
+ OUString const m_aRangeName;
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_TABLE_XCELLRANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xcolumnrowrange.hxx b/include/test/table/xcolumnrowrange.hxx
new file mode 100644
index 000000000..279a98847
--- /dev/null
+++ b/include/test/table/xcolumnrowrange.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_TABLE_XCOLUMNROWRANGE_HXX
+#define INCLUDED_TEST_TABLE_XCOLUMNROWRANGE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XColumnRowRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetColumns();
+ void testGetRows();
+
+protected:
+ ~XColumnRowRange() {}
+};
+}
+
+#endif // INCLUDED_TEST_TABLE_XCOLUMNROWRANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xtablechart.hxx b/include/test/table/xtablechart.hxx
new file mode 100644
index 000000000..6c57bf3ac
--- /dev/null
+++ b/include/test/table/xtablechart.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TABLE_XTABLECHART_HXX
+#define INCLUDED_TEST_TABLE_XTABLECHART_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XTableChart
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetHasColumnHeaders();
+ void testGetSetHasRowHeaders();
+ void testGetSetRanges();
+
+protected:
+ ~XTableChart() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_TABLE_XTABLECHART_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xtablecharts.hxx b/include/test/table/xtablecharts.hxx
new file mode 100644
index 000000000..fa43e552e
--- /dev/null
+++ b/include/test/table/xtablecharts.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TABLE_XTABLECHARTS_HXX
+#define INCLUDED_TEST_TABLE_XTABLECHARTS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XTableCharts
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testAddNewRemoveByName();
+
+protected:
+ ~XTableCharts() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_TABLE_XTABLECHARTS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xtablechartssupplier.hxx b/include/test/table/xtablechartssupplier.hxx
new file mode 100644
index 000000000..9e5d45dd0
--- /dev/null
+++ b/include/test/table/xtablechartssupplier.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_TABLE_XTABLECHARTSSUPPLIER_HXX
+#define INCLUDED_TEST_TABLE_XTABLECHARTSSUPPLIER_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XTableChartsSupplier
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetCharts();
+
+protected:
+ ~XTableChartsSupplier() {}
+};
+}
+
+#endif // INCLUDED_TEST_TABLE_XTABLECHARTSSUPPLIER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xtablecolumns.hxx b/include/test/table/xtablecolumns.hxx
new file mode 100644
index 000000000..957d344c5
--- /dev/null
+++ b/include/test/table/xtablecolumns.hxx
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TABLE_XTABLECOLUMNS_HXX
+#define INCLUDED_TEST_TABLE_XTABLECOLUMNS_HXX
+
+#include <com/sun/star/sheet/XSpreadsheet.hpp>
+#include <com/sun/star/table/XCell.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XTableColumns
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void setXSpreadsheet(const css::uno::Reference<css::sheet::XSpreadsheet>& r_xSheet)
+ {
+ m_xSheet = r_xSheet;
+ }
+
+ void testInsertByIndex();
+ void testInsertByIndexWithNegativeIndex();
+ // only use with ScTableColumnsObj
+ void testInsertByIndexWithNoColumn();
+ void testInsertByIndexWithOutOfBoundIndex();
+ void testRemoveByIndex();
+ void testRemoveByIndexWithNegativeIndex();
+ // only use with ScTableColumnsObj
+ void testRemoveByIndexWithNoColumn();
+ void testRemoveByIndexWithOutOfBoundIndex();
+
+protected:
+ ~XTableColumns() {}
+
+private:
+ css::uno::Reference<css::sheet::XSpreadsheet> m_xSheet;
+
+ static OUString getCellText(const css::uno::Reference<css::table::XCell>& r_xCell);
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_TABLE_XTABLECOLUMNS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/table/xtablerows.hxx b/include/test/table/xtablerows.hxx
new file mode 100644
index 000000000..ac874daac
--- /dev/null
+++ b/include/test/table/xtablerows.hxx
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TABLE_XTABLEROWS_HXX
+#define INCLUDED_TEST_TABLE_XTABLEROWS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XTableRows
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXCellRange() = 0;
+
+ virtual void testInsertByIndex();
+ virtual void testRemoveByIndex();
+
+protected:
+ ~XTableRows() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_TABLE_XTABLEROWS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/testdllapi.hxx b/include/test/testdllapi.hxx
new file mode 100644
index 000000000..c0a1eb029
--- /dev/null
+++ b/include/test/testdllapi.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef INCLUDED_TEST_TESTDLLAPI_HXX
+#define INCLUDED_TEST_TESTDLLAPI_HXX
+
+#include <sal/config.h>
+#include <sal/types.h>
+
+#if defined OOO_DLLIMPLEMENTATION_TEST
+#define OOO_DLLPUBLIC_TEST SAL_DLLPUBLIC_EXPORT
+#else
+#define OOO_DLLPUBLIC_TEST SAL_DLLPUBLIC_IMPORT
+#endif
+
+#if defined OOO_DLLIMPLEMENTATION_TEST_SETUPVCL
+#define OOO_DLLPUBLIC_TEST_SETUPVCL SAL_DLLPUBLIC_EXPORT
+#else
+#define OOO_DLLPUBLIC_TEST_SETUPVCL SAL_DLLPUBLIC_IMPORT
+#endif
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/testinteractionhandler.hxx b/include/test/testinteractionhandler.hxx
new file mode 100644
index 000000000..1cfdec663
--- /dev/null
+++ b/include/test/testinteractionhandler.hxx
@@ -0,0 +1,154 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TESTINTERACTIONHANDLER_HXX
+#define INCLUDED_TEST_TESTINTERACTIONHANDLER_HXX
+
+#include <sal/config.h>
+
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/task/XInteractionHandler2.hpp>
+#include <com/sun/star/task/XInteractionAbort.hpp>
+#include <com/sun/star/task/XInteractionApprove.hpp>
+#include <com/sun/star/task/XInteractionPassword2.hpp>
+#include <com/sun/star/task/DocumentPasswordRequest2.hpp>
+#include <com/sun/star/task/DocumentMSPasswordRequest2.hpp>
+
+#include <cppuhelper/implbase.hxx>
+#include <cppuhelper/supportsservice.hxx>
+
+class TestInteractionHandler : public cppu::WeakImplHelper<css::lang::XServiceInfo,
+ css::lang::XInitialization,
+ css::task::XInteractionHandler2>
+{
+ OUString msPassword;
+ bool mbPasswordRequested;
+
+ TestInteractionHandler(const TestInteractionHandler&) = delete;
+ TestInteractionHandler& operator=(const TestInteractionHandler&) = delete;
+
+public:
+ TestInteractionHandler(const OUString& sPassword)
+ : msPassword(sPassword)
+ , mbPasswordRequested(false)
+ {}
+
+ bool wasPasswordRequested()
+ {
+ return mbPasswordRequested;
+ }
+
+ virtual OUString SAL_CALL getImplementationName() override
+ {
+ return "com.sun.star.comp.uui.TestInteractionHandler";
+ }
+
+ virtual sal_Bool SAL_CALL supportsService(OUString const & rServiceName) override
+ {
+ return cppu::supportsService(this, rServiceName);
+ }
+
+ virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
+ {
+ return { "com.sun.star.task.InteractionHandler",
+ // added to indicate support for configuration.backend.MergeRecoveryRequest
+ "com.sun.star.configuration.backend.InteractionHandler",
+ // for backwards compatibility
+ "com.sun.star.uui.InteractionHandler" };
+ }
+
+ virtual void SAL_CALL initialize(css::uno::Sequence<css::uno::Any> const & /*rArguments*/) override
+ {}
+
+ virtual void SAL_CALL handle(css::uno::Reference<css::task::XInteractionRequest> const & rRequest) override
+ {
+ handleInteractionRequest(rRequest);
+ }
+
+ virtual sal_Bool SAL_CALL handleInteractionRequest(const css::uno::Reference<css::task::XInteractionRequest>& rRequest) override
+ {
+ mbPasswordRequested = false;
+
+ css::uno::Sequence<css::uno::Reference<css::task::XInteractionContinuation>> const &rContinuations = rRequest->getContinuations();
+ css::uno::Any const aRequest(rRequest->getRequest());
+
+ if (handlePasswordRequest(rContinuations, aRequest))
+ return true;
+
+ for (auto const & cont : rContinuations)
+ {
+ css::uno::Reference<css::task::XInteractionApprove> xApprove(cont, css::uno::UNO_QUERY);
+ if (xApprove.is())
+ xApprove->select();
+ }
+
+ return true;
+ }
+
+ bool handlePasswordRequest(const css::uno::Sequence<css::uno::Reference<css::task::XInteractionContinuation>> &rContinuations,
+ const css::uno::Any& rRequest)
+ {
+ bool bPasswordRequestFound = false;
+ bool bIsRequestPasswordToModify = false;
+ css::task::PasswordRequestMode mode{};
+
+ css::task::DocumentPasswordRequest2 passwordRequest2;
+ if (rRequest >>= passwordRequest2)
+ {
+ bIsRequestPasswordToModify = passwordRequest2.IsRequestPasswordToModify;
+ mode = passwordRequest2.Mode;
+ bPasswordRequestFound = true;
+ }
+ css::task::DocumentMSPasswordRequest2 passwordMSRequest2;
+ if (rRequest >>= passwordMSRequest2)
+ {
+ bIsRequestPasswordToModify = passwordMSRequest2.IsRequestPasswordToModify;
+ mode = passwordMSRequest2.Mode;
+ bPasswordRequestFound = true;
+ }
+
+ if (!bPasswordRequestFound)
+ {
+ mbPasswordRequested = false;
+ return false;
+ }
+ mbPasswordRequested = true;
+
+ for (auto const & cont : rContinuations)
+ {
+ if (mode == css::task::PasswordRequestMode_PASSWORD_REENTER)
+ { // cancel re-enter of wrong password, to avoid infinite loop
+ css::uno::Reference<css::task::XInteractionAbort> const xAbort(cont, css::uno::UNO_QUERY);
+ if (xAbort.is())
+ xAbort->select();
+ }
+ else if (bIsRequestPasswordToModify)
+ {
+ css::uno::Reference<css::task::XInteractionPassword2> const xIPW2(cont, css::uno::UNO_QUERY);
+ xIPW2->setPasswordToModify(msPassword);
+ xIPW2->select();
+ }
+ else
+ {
+ css::uno::Reference<css::task::XInteractionPassword> const xIPW(cont, css::uno::UNO_QUERY);
+ if (xIPW.is())
+ {
+ xIPW->setPassword(msPassword);
+ xIPW->select();
+ }
+ }
+ }
+ return true;
+ }
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/baseindex.hxx b/include/test/text/baseindex.hxx
new file mode 100644
index 000000000..7a523ed55
--- /dev/null
+++ b/include/test/text/baseindex.hxx
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_BASEINDEXTEST_HXX
+#define INCLUDED_TEST_TEXT_BASEINDEXTEST_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST BaseIndex
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~BaseIndex();
+ void testBaseIndexProperties();
+};
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/textcontent.hxx b/include/test/text/textcontent.hxx
new file mode 100644
index 000000000..e6333d60e
--- /dev/null
+++ b/include/test/text/textcontent.hxx
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/text/TextContentAnchorType.hpp>
+#include <com/sun/star/text/WrapTextMode.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TextContent
+{
+public:
+ TextContent(const css::text::TextContentAnchorType aExpectedTCAT,
+ const css::text::TextContentAnchorType aNewTCAT,
+ const css::text::WrapTextMode aExpectedWTM, const css::text::WrapTextMode aNewWTM)
+ : m_aExpectedTCAT(aExpectedTCAT)
+ , m_aNewTCAT(aNewTCAT)
+ , m_aExpectedWTM(aExpectedWTM)
+ , m_aNewWTM(aNewWTM)
+ {
+ }
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testTextContentProperties();
+
+protected:
+ ~TextContent() {}
+
+private:
+ css::text::TextContentAnchorType const m_aExpectedTCAT;
+ css::text::TextContentAnchorType const m_aNewTCAT;
+ css::text::WrapTextMode const m_aExpectedWTM;
+ css::text::WrapTextMode const m_aNewWTM;
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/text/textdocumentindex.hxx b/include/test/text/textdocumentindex.hxx
new file mode 100644
index 000000000..92e827cfe
--- /dev/null
+++ b/include/test/text/textdocumentindex.hxx
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_DOCUMENTINDEXTEST_HXX
+#define INCLUDED_TEST_TEXT_DOCUMENTINDEXTEST_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TextDocumentIndex
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~TextDocumentIndex();
+ void testDocumentIndexProperties();
+};
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/textdocumentsettings.hxx b/include/test/text/textdocumentsettings.hxx
new file mode 100644
index 000000000..e7a28a2f1
--- /dev/null
+++ b/include/test/text/textdocumentsettings.hxx
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_TEXTDOCUMENTSETTINGS_HXX
+#define INCLUDED_TEST_TEXT_TEXTDOCUMENTSETTINGS_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TextDocumentSettings
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~TextDocumentSettings();
+ void testDocumentSettingsProperties();
+};
+} // end namespace apitest
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/textprintersettings.hxx b/include/test/text/textprintersettings.hxx
new file mode 100644
index 000000000..2ceac34b9
--- /dev/null
+++ b/include/test/text/textprintersettings.hxx
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_TEXTPRINTERSETTINGS_HXX
+#define INCLUDED_TEST_TEXT_TEXTPRINTERSETTINGS_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TextPrinterSettings
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~TextPrinterSettings();
+ void testPrinterSettingsProperties();
+};
+} // end namespace apitest
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/textsettings.hxx b/include/test/text/textsettings.hxx
new file mode 100644
index 000000000..9566f21dc
--- /dev/null
+++ b/include/test/text/textsettings.hxx
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_TEXTSETTINGS_HXX
+#define INCLUDED_TEST_TEXT_TEXTSETTINGS_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST TextSettings
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual ~TextSettings();
+ void testSettingsProperties();
+};
+} // end namespace apitest
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/xdocumentindex.hxx b/include/test/text/xdocumentindex.hxx
new file mode 100644
index 000000000..4efdaeeec
--- /dev/null
+++ b/include/test/text/xdocumentindex.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEST_XDOCUMENTINDEX_HXX
+#define INCLUDED_TEST_TEST_XDOCUMENTINDEX_HXX
+
+#include <com/sun/star/text/XTextDocument.hpp>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+/**
+ * Testing <code>com.sun.star.text.XDocumentIndex</code>
+ *
+ * @see com.sun.star.text.XDocumentIndex
+ */
+class OOO_DLLPUBLIC_TEST XDocumentIndex
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::text::XTextDocument> getTextDocument() = 0;
+ virtual ~XDocumentIndex();
+ void testUpdate();
+};
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/xsimpletext.hxx b/include/test/text/xsimpletext.hxx
new file mode 100644
index 000000000..ec371ea21
--- /dev/null
+++ b/include/test/text/xsimpletext.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_XSIMPLETEXT_HXX
+#define INCLUDED_TEST_TEXT_XSIMPLETEXT_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSimpleText
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testCreateTextCursor();
+ void testCreateTextCursorByRange();
+ void testInsertString();
+ void testInsertControlCharacter();
+
+protected:
+ ~XSimpleText() {}
+};
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/xtext.hxx b/include/test/text/xtext.hxx
new file mode 100644
index 000000000..537cfa21d
--- /dev/null
+++ b/include/test/text/xtext.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_XTEXT_HXX
+#define INCLUDED_TEST_TEXT_XTEXT_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/text/XTextContent.hpp>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XText
+{
+public:
+ virtual ~XText();
+
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::text::XTextContent> getTextContent() = 0;
+
+ void testInsertRemoveTextContent();
+};
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/xtextcontent.hxx b/include/test/text/xtextcontent.hxx
new file mode 100644
index 000000000..f23852062
--- /dev/null
+++ b/include/test/text/xtextcontent.hxx
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_XTEXTCONTENT_HXX
+#define INCLUDED_TEST_TEXT_XTEXTCONTENT_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/text/XTextRange.hpp>
+#include <com/sun/star/text/XTextContent.hpp>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XTextContent
+{
+public:
+ virtual ~XTextContent() {}
+
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+ virtual css::uno::Reference< css::text::XTextRange > getTextRange() = 0;
+ virtual css::uno::Reference< css::text::XTextContent > getTextContent() = 0;
+ virtual bool isAttachSupported() = 0;
+
+ void testGetAnchor();
+ void testAttach();
+};
+
+}
+
+#endif // INCLUDED_TEST_TEXT_XTEXTCONTENT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/text/xtextfield.hxx b/include/test/text/xtextfield.hxx
new file mode 100644
index 000000000..6d717b1ea
--- /dev/null
+++ b/include/test/text/xtextfield.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_XTEXTFIELD_HXX
+#define INCLUDED_TEST_TEXT_XTEXTFIELD_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XTextField
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetPresentation();
+ void testGetPresentationEmptyString();
+
+protected:
+ ~XTextField() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_TEXT_XTEXTFIELD_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/text/xtextrange.hxx b/include/test/text/xtextrange.hxx
new file mode 100644
index 000000000..a986e7fae
--- /dev/null
+++ b/include/test/text/xtextrange.hxx
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_TEXT_XTEXTRANGE_HXX
+#define INCLUDED_TEST_TEXT_XTEXTRANGE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XTextRange
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetEnd();
+ void testGetSetString();
+ void testGetStart();
+ void testGetText();
+
+protected:
+ ~XTextRange() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_TEXT_XTEXTRANGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/unoapi_property_testers.hxx b/include/test/unoapi_property_testers.hxx
new file mode 100644
index 000000000..4d83e8179
--- /dev/null
+++ b/include/test/unoapi_property_testers.hxx
@@ -0,0 +1,173 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_INC_UNOAPIPROPERTYTESTERS_HXX
+#define INCLUDED_TEST_INC_UNOAPIPROPERTYTESTERS_HXX
+
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/util/Color.hpp>
+
+#include <sal/config.h>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+/** @brief Tester for property type 'boolean' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ */
+void OOO_DLLPUBLIC_TEST testBooleanProperty(
+ css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, const OUString& name);
+
+/** @brief Tester for optional property type 'boolean' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * Pass the test also if the property doesn't exists (throws a com::sun::star::beans::UnknownPropertyException)
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ */
+void OOO_DLLPUBLIC_TEST testBooleanOptionalProperty(
+ css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, const OUString& name);
+
+/** @brief Tester for read-only property type 'boolean' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ */
+void OOO_DLLPUBLIC_TEST testBooleanReadonlyProperty(
+ css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, const OUString& name);
+
+/** @brief Tester for property type 'double' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param nValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testDoubleProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const double& dValue = 42.0);
+
+/** @brief Tester for read-only property type 'double' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param nValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testDoubleReadonlyProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const double& dValue = 42.0);
+
+/** @brief Tester for property type 'long' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param nValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testLongProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const sal_Int32& nValue = 42);
+
+/** @brief Tester for optional property type 'long' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param nValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testLongOptionalProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const sal_Int32& nValue = 42);
+
+/** @brief Tester for read-only property type 'long' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param nValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testLongReadonlyProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const sal_Int32& nValue = 42);
+
+/** @brief Tester for property type 'short' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param nValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testShortProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const sal_Int16& nValue = 42);
+
+/** @brief Tester for optional property type 'short' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param nValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testShortOptionalProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const sal_Int16& nValue = 42);
+
+/** @brief Tester for read-only property type 'short' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param nValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testShortReadonlyProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const sal_Int16& nValue = 42);
+
+/** @brief Tester for property type 'string' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param rValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testStringProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const OUString& rValue);
+
+/** @brief Tester for optional property type 'string' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * Pass the test also if the property doesn't exists (throws a com::sun::star::beans::UnknownPropertyException)
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param rValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testStringOptionalProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const OUString& rValue = OUString("StringValue"));
+
+/** @brief Tester for read-only property type 'string' of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param rValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST
+testStringReadonlyProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
+ const OUString& name, const OUString& rValue);
+
+/** @brief Tester for property type com::sun::star::util::Color of a @see com::sun::star::beans::XPropertySet.
+ *
+ * @param xPropertySet The property set, which contains the property to test against.
+ * @param name Name of property to test.
+ * @param rValue Value to use when setting a new value.
+ */
+void OOO_DLLPUBLIC_TEST testColorProperty(
+ css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, const OUString& name,
+ const css::util::Color& rValue = css::util::Color(0x12345678));
+
+} // namespace apitest
+#endif // INCLUDED_TEST_INC_UNOAPIPROPERTYTESTERS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/unoapi_test.hxx b/include/test/unoapi_test.hxx
new file mode 100644
index 000000000..82f04cf46
--- /dev/null
+++ b/include/test/unoapi_test.hxx
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_UNOAPI_TEST_HXX
+#define INCLUDED_TEST_UNOAPI_TEST_HXX
+
+#include <sal/config.h>
+
+#include <string_view>
+
+#include <test/bootstrapfixture.hxx>
+#include <unotest/macros_test.hxx>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <osl/file.hxx>
+
+// basic uno api test class
+
+class OOO_DLLPUBLIC_TEST UnoApiTest : public test::BootstrapFixture, public unotest::MacrosTest
+{
+public:
+ UnoApiTest(const OUString& path);
+
+ void createFileURL(std::u16string_view aFileBase, OUString& rFilePath);
+
+ virtual void setUp() override;
+
+protected:
+ void closeDocument(css::uno::Reference<css::lang::XComponent> const& xDocument);
+
+private:
+ OUString m_aBaseString;
+};
+
+#endif // INCLUDED_TEST_UNOAPI_TEST_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/util/searchdescriptor.hxx b/include/test/util/searchdescriptor.hxx
new file mode 100644
index 000000000..b2f5d5bd6
--- /dev/null
+++ b/include/test/util/searchdescriptor.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST SearchDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testSearchDescriptorProperties();
+
+protected:
+ ~SearchDescriptor() {}
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/util/xindent.hxx b/include/test/util/xindent.hxx
new file mode 100644
index 000000000..bb3c0e5d3
--- /dev/null
+++ b/include/test/util/xindent.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_UTIL_XINDENT_HXX
+#define INCLUDED_TEST_UTIL_XINDENT_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XIndent
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testIncrementIndent();
+ void testDecrementIndent();
+
+protected:
+ ~XIndent() {}
+};
+}
+
+#endif // INCLUDED_TEST_UTIL_XINDENT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/util/xmergeable.hxx b/include/test/util/xmergeable.hxx
new file mode 100644
index 000000000..9ed2d479b
--- /dev/null
+++ b/include/test/util/xmergeable.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_TEST_UTIL_XMERGEABLE_HXX
+#define INCLUDED_TEST_UTIL_XMERGEABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XMergeable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetIsMergedMerge();
+
+protected:
+ ~XMergeable() {}
+};
+}
+
+#endif // INCLUDED_TEST_UTIL_XMERGEABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/util/xrefreshable.hxx b/include/test/util/xrefreshable.hxx
new file mode 100644
index 000000000..dd8230325
--- /dev/null
+++ b/include/test/util/xrefreshable.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_UTIL_XREFRESHABLE_HXX
+#define INCLUDED_TEST_UTIL_XREFRESHABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XRefreshable
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testRefreshListener();
+
+protected:
+ ~XRefreshable() {}
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_UTIL_XREFRESHABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/util/xreplaceable.hxx b/include/test/util/xreplaceable.hxx
new file mode 100644
index 000000000..9f33feeb5
--- /dev/null
+++ b/include/test/util/xreplaceable.hxx
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_UTIL_XREPLACEABLE_HXX
+#define INCLUDED_TEST_UTIL_XREPLACEABLE_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XReplaceable
+{
+public:
+ XReplaceable( const OUString& rSearchString, const OUString& rReplaceString):
+ maSearchString(rSearchString), maReplaceString(rReplaceString) {}
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+
+ void testCreateReplaceDescriptor();
+ void testReplaceAll();
+
+protected:
+ ~XReplaceable() {}
+
+private:
+ OUString maSearchString;
+ OUString maReplaceString;
+};
+
+}
+
+#endif // INCLUDED_TEST_UTIL_XREPLACEABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/util/xreplacedescriptor.hxx b/include/test/util/xreplacedescriptor.hxx
new file mode 100644
index 000000000..878ee7126
--- /dev/null
+++ b/include/test/util/xreplacedescriptor.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XReplaceDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetReplaceString();
+
+protected:
+ ~XReplaceDescriptor() {}
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/util/xsearchable.hxx b/include/test/util/xsearchable.hxx
new file mode 100644
index 000000000..9f45f051e
--- /dev/null
+++ b/include/test/util/xsearchable.hxx
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_UTIL_XSEARCHABLE_HXX
+#define INCLUDED_TEST_UTIL_XSEARCHABLE_HXX
+
+#include <test/testdllapi.hxx>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XSearchable
+{
+public:
+ XSearchable(const OUString& rString, sal_Int32 nCount) : maSearchString(rString), mnCount(nCount) {}
+ XSearchable() : maSearchString("SearchString"), mnCount(1) {}
+ virtual ~XSearchable();
+
+ void testFindFirst();
+ void testFindNext();
+ void testFindAll();
+
+ virtual css::uno::Reference< css::uno::XInterface > init() = 0;
+
+private:
+ OUString maSearchString;
+ sal_Int32 mnCount;
+};
+
+}
+
+#endif // INCLUDED_TEST_UTIL_XSEARCHABLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/util/xsearchdescriptor.hxx b/include/test/util/xsearchdescriptor.hxx
new file mode 100644
index 000000000..1bad97375
--- /dev/null
+++ b/include/test/util/xsearchdescriptor.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XSearchDescriptor
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+ void testGetSetSearchString();
+
+protected:
+ ~XSearchDescriptor() {}
+};
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/view/xcontrolaccess.hxx b/include/test/view/xcontrolaccess.hxx
new file mode 100644
index 000000000..b25cb169c
--- /dev/null
+++ b/include/test/view/xcontrolaccess.hxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_VIEW_XCONTROLACCESS_HXX
+#define INCLUDED_TEST_VIEW_XCONTROLACCESS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XControlAccess
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ virtual css::uno::Reference<css::uno::XInterface> getXComponent() = 0;
+
+ void testGetControl();
+
+protected:
+ ~XControlAccess() {}
+};
+} // namespace apitest
+
+#endif // INCLUDED_TEST_VIEW_XCONTROLACCESS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/view/xformlayeraccess.hxx b/include/test/view/xformlayeraccess.hxx
new file mode 100644
index 000000000..ddd2542ab
--- /dev/null
+++ b/include/test/view/xformlayeraccess.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_VIEW_XFORMLAYERACCESS_HXX
+#define INCLUDED_TEST_VIEW_XFORMLAYERACCESS_HXX
+
+#include <com/sun/star/form/XForm.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XFormLayerAccess
+{
+public:
+ virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+ void setForm(const css::uno::Reference<css::form::XForm>& r_xForm) { m_xForm = r_xForm; }
+
+ void testGetFormController();
+ void testIsFormDesignMode();
+ void testSetFormDesignMode();
+
+protected:
+ ~XFormLayerAccess() {}
+
+private:
+ css::uno::Reference<css::form::XForm> m_xForm;
+};
+
+} // namespace apitest
+
+#endif // INCLUDED_TEST_VIEW_XFORMLAYERACCESS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/xmldiff.hxx b/include/test/xmldiff.hxx
new file mode 100644
index 000000000..5023bec35
--- /dev/null
+++ b/include/test/xmldiff.hxx
@@ -0,0 +1,21 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_XMLDIFF_HXX
+#define INCLUDED_TEST_XMLDIFF_HXX
+
+#include <test/testdllapi.hxx>
+
+bool OOO_DLLPUBLIC_TEST
+doXMLDiff(const char* pFileName, const char* pContent, int size,
+ const char* pToleranceFileName);
+
+#endif // INCLUDED_TEST_XMLDIFF_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/xmldocptr.hxx b/include/test/xmldocptr.hxx
new file mode 100644
index 000000000..bb41ddb9e
--- /dev/null
+++ b/include/test/xmldocptr.hxx
@@ -0,0 +1,20 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+#pragma once
+
+#include <memory>
+#include <libxml/tree.h>
+
+struct xmlDocDeleter
+{
+ void operator()(xmlDoc* p) { xmlFreeDoc(p); }
+};
+using xmlDocUniquePtr = std::unique_ptr<xmlDoc, xmlDocDeleter>;
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/include/test/xmltesttools.hxx b/include/test/xmltesttools.hxx
new file mode 100644
index 000000000..e37638fa6
--- /dev/null
+++ b/include/test/xmltesttools.hxx
@@ -0,0 +1,110 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_XMLTESTTOOLS_HXX
+#define INCLUDED_TEST_XMLTESTTOOLS_HXX
+
+#include <sal/config.h>
+#include <test/testdllapi.hxx>
+
+#include <libxml/xmlwriter.h>
+#include <libxml/tree.h>
+#include <libxml/xpath.h>
+#include <libxml/xpathInternals.h>
+#include <libxml/parserInternals.h>
+
+#include <rtl/string.hxx>
+#include <rtl/ustring.hxx>
+#include <unotools/tempfile.hxx>
+#include <vcl/mtfxmldump.hxx>
+#include <test/xmldocptr.hxx>
+
+#include <cppunit/TestAssert.h>
+
+#include <string_view>
+#include <vector>
+
+class OOO_DLLPUBLIC_TEST XmlTestTools
+{
+public:
+ /// Return xmlDocPtr representation of the XML stream read from pStream.
+ static xmlDocUniquePtr parseXmlStream(SvStream* pStream);
+
+ static xmlDocUniquePtr dumpAndParse(MetafileXmlDump& rDumper, const GDIMetaFile& rGDIMetaFile);
+
+protected:
+ XmlTestTools();
+ virtual ~XmlTestTools();
+
+ static xmlDocUniquePtr parseXml(utl::TempFile const & aTempFile);
+
+ virtual void registerNamespaces(xmlXPathContextPtr& pXmlXpathCtx);
+
+ // Caller must call xmlXPathFreeObject:
+ xmlXPathObjectPtr getXPathNode(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath);
+ /**
+ * Same as the assertXPath(), but don't assert: return the string instead.
+ */
+ OUString getXPath(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath, const OString& rAttribute);
+ /**
+ * Same as the assertXPathContent(), but don't assert: return the string instead.
+ */
+ OUString getXPathContent(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath);
+ /**
+ * Get the position of the child named rName of the parent node specified by rXPath.
+ * Useful for checking relative order of elements.
+ */
+ int getXPathPosition(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath, std::string_view rChildName);
+ /**
+ * Get the number of the nodes returned by the rXPath.
+ */
+ int countXPathNodes(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath);
+ /**
+ * Assert that rXPath exists, and returns exactly one node.
+ */
+ void assertXPath(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath);
+ /**
+ * Assert that rXPath exists, returns exactly one node, and the rXPath's attribute's value
+ * equals to the rExpected value.
+ */
+ void assertXPath(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath, const OString& rAttribute,
+ const OUString& rExpectedValue);
+ void assertXPathAttrs(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath,
+ const std::vector<std::pair<OString, OUString>>& aPairVector);
+ /**
+ * Assert that rXPath exists, and returns exactly nNumberOfNodes nodes.
+ * Useful for checking that we do _not_ export some node (nNumberOfNodes == 0).
+ */
+ void assertXPath(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath, int nNumberOfNodes);
+ /**
+ * Assert that rXPath exists, and its content equals rContent.
+ */
+ void assertXPathContent(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath, const OUString& rContent);
+ /**
+ * Assert that rXPath exists and it has an rNSPrefix=rNSHref namespace definition.
+ */
+ void assertXPathNSDef(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath, std::u16string_view rNSPrefix,
+ std::u16string_view rNSHref);
+ /**
+ * Assert that rXPath exists, and has exactly nNumberOfChildNodes child nodes.
+ * Useful for checking that we do have a no child nodes to a specific node (nNumberOfChildNodes == 0).
+ */
+ void assertXPathChildren(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath, int nNumberOfChildNodes);
+ /**
+ * Assert that rXPath exists, has exactly 1 result set nodes and does *not* have an attribute named rAttribute.
+ */
+ void assertXPathNoAttribute(const xmlDocUniquePtr& pXmlDoc, const OString& rXPath, const OString& rAttribute);
+
+ static void registerODFNamespaces(xmlXPathContextPtr& pXmlXpathCtx);
+ static void registerOOXMLNamespaces(xmlXPathContextPtr& pXmlXpathCtx);
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */