/* -*- 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 namespace { class Test : public SwModelTestBase { public: Test() : SwModelTestBase("/sw/qa/extras/ooxmlexport/data/", "Office Open XML Text") { } }; DECLARE_OOXMLEXPORT_TEST(testTdf153909_followTextFlow, "tdf153909_followTextFlow.docx") { // Although MSO's UI reports "layoutInCell" for the rectangle, it isn't specified or honored CPPUNIT_ASSERT(!getProperty(getShape(1), "IsFollowingTextFlow")); // Given a table with a rectangle anchored in it (wrap-through) that appears above the table... xmlDocUniquePtr pDump = parseLayoutDump(); sal_Int32 nRectBottom = getXPath(pDump, "//anchored/SwAnchoredDrawObject/bounds"_ostr, "bottom"_ostr).toInt32(); sal_Int32 nTableTop = getXPath(pDump, "//tab/row/infos/bounds"_ostr, "top"_ostr).toInt32(); // The entire table must be below the rectangle CPPUNIT_ASSERT(nTableTop > nRectBottom); } CPPUNIT_TEST_FIXTURE(Test, testTdf159207_footerFramePrBorder) { loadFromFile(u"tdf159207_footerFramePrBorder.docx"); // re-imports as editeng Frame/Shape // given a doc with footer paragraphs frame (with a top border, but no left border) uno::Reference xTextFramesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference xIndexAccess(xTextFramesSupplier->getTextFrames(), uno::UNO_QUERY); uno::Reference xFrame0(xIndexAccess->getByIndex(0), uno::UNO_QUERY); auto aBorder = getProperty(xFrame0, "LeftBorder"); sal_uInt32 nBorderWidth = aBorder.OuterLineWidth + aBorder.InnerLineWidth + aBorder.LineDistance; // Without patch it failed with Expected 0, Actual 26 CPPUNIT_ASSERT_EQUAL_MESSAGE("Left border:", static_cast(0), nBorderWidth); // TODO: there SHOULD BE a top border, and even if loaded, it would be lost on re-import... } } // end of anonymous namespace CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */