[Libreoffice-commits] core.git: include/test sc/qa test/Library_subsequenttest.mk test/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Dec 18 22:55:42 UTC 2018


 include/test/lang/xserviceinfo.hxx |   49 +++++++++++++++++++++++++++++++++++++
 sc/qa/extras/scscenariosobj.cxx    |   10 ++++++-
 test/Library_subsequenttest.mk     |    1 
 test/source/lang/xserviceinfo.cxx  |   49 +++++++++++++++++++++++++++++++++++++
 4 files changed, 108 insertions(+), 1 deletion(-)

New commits:
commit 2b9739b9b009de93efa4f24995469c3bb9d82261
Author:     Jens Carl <j.carl43 at gmx.de>
AuthorDate: Tue Dec 18 19:14:13 2018 +0000
Commit:     Jens Carl <j.carl43 at gmx.de>
CommitDate: Tue Dec 18 23:55:18 2018 +0100

    Add XServiceInfo tests to ScScenariosObj
    
    Change-Id: I4d8fb95af78330d488e4b782eb8cdff5b83f1cc2
    Reviewed-on: https://gerrit.libreoffice.org/65369
    Tested-by: Jenkins
    Reviewed-by: Jens Carl <j.carl43 at gmx.de>

diff --git a/include/test/lang/xserviceinfo.hxx b/include/test/lang/xserviceinfo.hxx
new file mode 100644
index 000000000000..498e5ed8387f
--- /dev/null
+++ b/include/test/lang/xserviceinfo.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_LANG_XSERVICEINFO_HXX
+#define INCLUDED_TEST_LANG_XSERVICEINFO_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <rtl/string.hxx>
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST XServiceInfo
+{
+public:
+    XServiceInfo(const OUString& rImplName, const OUString& rServiceName)
+        : m_aImplName(rImplName)
+        , m_aServiceName(rServiceName)
+    {
+    }
+
+    virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+    void testGetImplementationName();
+    void testGetSupportedServiceNames();
+    void testSupportsService();
+
+protected:
+    ~XServiceInfo() {}
+
+private:
+    OUString const m_aImplName;
+    OUString const m_aServiceName;
+};
+
+} // 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/sc/qa/extras/scscenariosobj.cxx b/sc/qa/extras/scscenariosobj.cxx
index 22f35f10cb52..a379cf249ece 100644
--- a/sc/qa/extras/scscenariosobj.cxx
+++ b/sc/qa/extras/scscenariosobj.cxx
@@ -12,6 +12,7 @@
 #include <test/container/xenumerationaccess.hxx>
 #include <test/container/xnameaccess.hxx>
 #include <test/container/xindexaccess.hxx>
+#include <test/lang/xserviceinfo.hxx>
 #include <test/sheet/xscenarios.hxx>
 
 #include <com/sun/star/container/XIndexAccess.hpp>
@@ -43,7 +44,8 @@ class ScScenariosObj : public CalcUnoApiTest,
                        public apitest::XEnumerationAccess,
                        public apitest::XNameAccess,
                        public apitest::XIndexAccess,
-                       public apitest::XScenarios
+                       public apitest::XScenarios,
+                       public apitest::XServiceInfo
 {
 public:
     ScScenariosObj();
@@ -74,6 +76,11 @@ public:
     CPPUNIT_TEST(testAddNewByName);
     CPPUNIT_TEST(testRemoveByName);
 
+    // XServiceInfo
+    CPPUNIT_TEST(testGetImplementationName);
+    CPPUNIT_TEST(testGetSupportedServiceNames);
+    CPPUNIT_TEST(testSupportsService);
+
     CPPUNIT_TEST_SUITE_END();
 
 private:
@@ -85,6 +92,7 @@ ScScenariosObj::ScScenariosObj()
     , XElementAccess(cppu::UnoType<sheet::XScenario>::get())
     , XNameAccess("ScScenarios")
     , XIndexAccess(1)
+    , XServiceInfo("ScScenariosObj", "com.sun.star.sheet.Scenarios")
 {
 }
 
diff --git a/test/Library_subsequenttest.mk b/test/Library_subsequenttest.mk
index 1ce96cbd84ae..88edfeed9741 100644
--- a/test/Library_subsequenttest.mk
+++ b/test/Library_subsequenttest.mk
@@ -53,6 +53,7 @@ $(eval $(call gb_Library_add_exception_objects,subsequenttest,\
 	test/source/container/xnamereplace \
 	test/source/drawing/captionshape \
 	test/source/document/xlinktargetsupplier \
+	test/source/lang/xserviceinfo \
 	test/source/sheet/cellarealink \
 	test/source/sheet/cellproperties \
 	test/source/sheet/databaseimportdescriptor \
diff --git a/test/source/lang/xserviceinfo.cxx b/test/source/lang/xserviceinfo.cxx
new file mode 100644
index 000000000000..eeba62784b14
--- /dev/null
+++ b/test/source/lang/xserviceinfo.cxx
@@ -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/.
+ */
+
+#include <test/lang/xserviceinfo.hxx>
+#include <rtl/string.hxx>
+
+#include <com/sun/star/lang/XServiceInfo.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+
+#include <cppunit/extensions/HelperMacros.h>
+
+using namespace css;
+using namespace css::uno;
+
+namespace apitest
+{
+void XServiceInfo::testGetImplementationName()
+{
+    uno::Reference<lang::XServiceInfo> xSI(init(), uno::UNO_QUERY_THROW);
+
+    CPPUNIT_ASSERT_EQUAL(m_aImplName, xSI->getImplementationName());
+}
+
+void XServiceInfo::testGetSupportedServiceNames()
+{
+    uno::Reference<lang::XServiceInfo> xSI(init(), uno::UNO_QUERY_THROW);
+
+    uno::Sequence<OUString> aServiceNames = xSI->getSupportedServiceNames();
+    CPPUNIT_ASSERT(aServiceNames.getLength());
+}
+
+void XServiceInfo::testSupportsService()
+{
+    uno::Reference<lang::XServiceInfo> xSI(init(), uno::UNO_QUERY_THROW);
+
+    CPPUNIT_ASSERT(xSI->supportsService(m_aServiceName));
+}
+
+} // namespace apitest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */


More information about the Libreoffice-commits mailing list