/* -*- 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/. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace css; using namespace css::uno; namespace { /** * Test for Java API test of file com.sun.star.comp.office.SwXDocumentIndex.csv */ class SwXDocumentIndex final : public UnoApiTest, public apitest::XServiceInfo, public apitest::XDocumentIndex, public apitest::BaseIndex, public apitest::TextDocumentIndex, public apitest::XTextContent, public apitest::XComponent { Reference mxTextDocument; Reference mxTextRange; Reference mxTextContent; public: // SwXDocumentIndex() // : apitest::XServiceInfo("SwXDocumentIndex", "com.sun.star.text.BaseIndex"){}; SwXDocumentIndex() : UnoApiTest(u""_ustr) , apitest::XServiceInfo(u"SwXDocumentIndex"_ustr, u"com.sun.star.text.BaseIndex"_ustr) { } Reference init() override { loadFromURL(u"private:factory/swriter"_ustr); mxTextDocument = Reference(mxComponent, UNO_QUERY_THROW); Reference xMSF(mxTextDocument, UNO_QUERY_THROW); Reference xDocumentIndex( xMSF->createInstance(u"com.sun.star.text.DocumentIndex"_ustr), UNO_QUERY_THROW); auto xText = getTextDocument()->getText(); auto xTextCursor = xText->createTextCursor(); CPPUNIT_ASSERT(xTextCursor.is()); xText->insertTextContent(xTextCursor, xDocumentIndex, false); xTextCursor->gotoEnd(false); mxTextRange = Reference(xTextCursor, UNO_QUERY_THROW); mxTextContent = Reference( xMSF->createInstance(u"com.sun.star.text.DocumentIndex"_ustr), UNO_QUERY_THROW); return xDocumentIndex; } Reference getTextRange() override { return mxTextRange; }; Reference getTextContent() override { return mxTextContent; }; bool isAttachSupported() override { return true; } Reference getTextDocument() override { return mxTextDocument; } void triggerDesktopTerminate() override {} CPPUNIT_TEST_SUITE(SwXDocumentIndex); CPPUNIT_TEST(testGetImplementationName); CPPUNIT_TEST(testGetSupportedServiceNames); CPPUNIT_TEST(testSupportsService); CPPUNIT_TEST(testUpdate); CPPUNIT_TEST(testBaseIndexProperties); CPPUNIT_TEST(testDocumentIndexProperties); CPPUNIT_TEST(testAttach); CPPUNIT_TEST(testGetAnchor); CPPUNIT_TEST(testAddEventListener); CPPUNIT_TEST(testRemoveEventListener); CPPUNIT_TEST_SUITE_END(); }; CPPUNIT_TEST_SUITE_REGISTRATION(SwXDocumentIndex); } CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */