/* -*- 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 "BaseIndexTest.hxx" #include "DocumentIndexTest.hxx" #include "XDocumentIndexTest.hxx" #include "XTextContentTest.hxx" #include #include #include #include #include #include #include #include #include #include #include using namespace css; namespace { /** * Test for Java API test of file com.sun.star.comp.office.SwXDocumentIndex.csv */ class SwXDocumentIndexTest : public test::BootstrapFixture, public unotest::MacrosTest, public apitest::XDocumentIndexTest, public apitest::BaseIndexTest, public apitest::DocumentIndexTest, public apitest::XTextContentTest { uno::Reference mxComponentContext; uno::Reference mxComponent; public: virtual void setUp() override; virtual void tearDown() override; std::unordered_map> init() override; CPPUNIT_TEST_SUITE(SwXDocumentIndexTest); CPPUNIT_TEST(testGetServiceName); CPPUNIT_TEST(testUpdate); CPPUNIT_TEST(testBaseIndexProperties); CPPUNIT_TEST(testDocumentIndexProperties); CPPUNIT_TEST(testAttach); CPPUNIT_TEST(testGetAnchor); CPPUNIT_TEST_SUITE_END(); }; void SwXDocumentIndexTest::setUp() { test::BootstrapFixture::setUp(); mxComponentContext.set(comphelper::getComponentContext(getMultiServiceFactory())); mxDesktop.set(frame::Desktop::create(mxComponentContext)); } void SwXDocumentIndexTest::tearDown() { if (mxComponent.is()) mxComponent->dispose(); test::BootstrapFixture::tearDown(); } std::unordered_map> SwXDocumentIndexTest::init() { std::unordered_map> map; mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument"); CPPUNIT_ASSERT(mxComponent.is()); uno::Reference xTextDocument(mxComponent, uno::UNO_QUERY_THROW); uno::Reference xFactory(xTextDocument, uno::UNO_QUERY_THROW); uno::Reference xDocumentIndex( xFactory->createInstance("com.sun.star.text.DocumentIndex"), uno::UNO_QUERY_THROW); uno::Reference xTextContent(xDocumentIndex, uno::UNO_QUERY_THROW); uno::Reference xText = xTextDocument->getText(); uno::Reference xTextCursor = xText->createTextCursor(); CPPUNIT_ASSERT(xTextCursor.is()); xText->insertTextContent(xTextCursor, xTextContent, false); xTextCursor->gotoEnd(false); uno::Reference xDocumentIndexInstance( xFactory->createInstance("com.sun.star.text.DocumentIndex"), uno::UNO_QUERY_THROW); // XDocumentIndexTest map["text::XDocumentIndex"] = xDocumentIndex; map["text::XTextDocument"] = xTextDocument; // BaseIndexTest map["text::BaseIndex"] = xDocumentIndex; // DocumentIndex map["text::DocumentIndex"] = xDocumentIndex; // XTextContentTest map["text::XTextRange"] = xTextCursor; map["text::XTextContent"] = xDocumentIndex; map["text::XTextContent#Instance"] = xDocumentIndexInstance; return map; } CPPUNIT_TEST_SUITE_REGISTRATION(SwXDocumentIndexTest); } CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */