/* -*- 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 using namespace css; namespace { /** * Test for Java API test of file com.sun.star.comp.office.SwXTextFrame.csv */ class SwXTextFrame final : public test::BootstrapFixture, public unotest::MacrosTest, public apitest::XServiceInfo, public apitest::XComponent { uno::Reference mxTextDocument; public: virtual void setUp() override; virtual void tearDown() override; SwXTextFrame() : apitest::XServiceInfo("SwXTextFrame", "com.sun.star.text.TextFrame"){}; uno::Reference init() override; const uno::Reference& getTextDocument() const { return mxTextDocument; } void triggerDesktopTerminate() override { mxDesktop->terminate(); } CPPUNIT_TEST_SUITE(SwXTextFrame); CPPUNIT_TEST(testGetImplementationName); CPPUNIT_TEST(testGetSupportedServiceNames); CPPUNIT_TEST(testSupportsService); CPPUNIT_TEST(testAddEventListener); CPPUNIT_TEST(testRemoveEventListener); CPPUNIT_TEST_SUITE_END(); }; void SwXTextFrame::setUp() { test::BootstrapFixture::setUp(); mxDesktop.set(frame::Desktop::create(mxComponentContext)); mxTextDocument = uno::Reference( loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument"), uno::UNO_QUERY_THROW); CPPUNIT_ASSERT(mxTextDocument.is()); } void SwXTextFrame::tearDown() { if (mxTextDocument.is()) mxTextDocument->dispose(); test::BootstrapFixture::tearDown(); } uno::Reference SwXTextFrame::init() { uno::Reference xMSF(mxTextDocument, uno::UNO_QUERY_THROW); uno::Reference xTextFrame(xMSF->createInstance("com.sun.star.text.TextFrame"), uno::UNO_QUERY_THROW); auto xText = getTextDocument()->getText(); auto xTextCursor = xText->createTextCursor(); CPPUNIT_ASSERT(xTextCursor.is()); xText->insertTextContent(xTextCursor, xTextFrame, false); xTextCursor->gotoEnd(false); return xTextFrame; } CPPUNIT_TEST_SUITE_REGISTRATION(SwXTextFrame); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */