diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /include/test | |
parent | Initial commit. (diff) | |
download | libreoffice-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 '')
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: */ |