Kaydet (Commit) 95d8fa0b authored tarafından Miklos Vajna's avatar Miklos Vajna

bnc#816603 testcase

Make sure that at least full-page-width multi-page floating tables are
imported on multiple pages.

Change-Id: Ifb974d50c50b1495634ac2652a3ae46235bb5f52
üst ef8a4af3
......@@ -10,9 +10,11 @@
#include <com/sun/star/container/XContentEnumerationAccess.hpp>
#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
#include <com/sun/star/text/XPageCursor.hpp>
#include <com/sun/star/text/XTextDocument.hpp>
#include <com/sun/star/text/XTextRange.hpp>
#include <com/sun/star/text/XTextTable.hpp>
#include <com/sun/star/text/XTextViewCursorSupplier.hpp>
#include <com/sun/star/table/XCell.hpp>
#include <test/bootstrapfixture.hxx>
......@@ -312,6 +314,16 @@ protected:
}
}
/// Get page count.
int getPages()
{
uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
xCursor->jumpToLastPage();
return xCursor->getPage();
}
uno::Reference<lang::XComponent> mxComponent;
xmlBufferPtr mpXmlBuffer;
......
......@@ -143,8 +143,6 @@ public:
private:
void run();
/// Get page count.
int getPages();
/// Copy&paste helper.
void paste(OUString aFilename, uno::Reference<text::XTextRange> xTextRange = uno::Reference<text::XTextRange>())
{
......@@ -285,15 +283,6 @@ void Test::run()
}
}
int Test::getPages()
{
uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
xCursor->jumpToLastPage();
return xCursor->getPage();
}
void Test::testFdo45553()
{
uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY);
......
This diff was suppressed by a .gitattributes entry.
......@@ -30,6 +30,7 @@ public:
void testAllGapsWord();
void testFdo59530();
void testI120158();
void testN816603();
CPPUNIT_TEST_SUITE(Test);
#if !defined(MACOSX) && !defined(WNT)
......@@ -52,7 +53,8 @@ void Test::run()
{"n757905.doc", &Test::testN757905},
{"all_gaps_word.doc", &Test::testAllGapsWord},
{"fdo59530.doc", &Test::testFdo59530},
{"i120158.doc", &Test::testI120158}
{"i120158.doc", &Test::testI120158},
{"n816603.doc", &Test::testN816603},
};
header();
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
......@@ -250,6 +252,14 @@ void Test::testI120158()
CPPUNIT_ASSERT(sFieldResult.endsWith("AM") || sFieldResult.endsWith("PM"));
}
void Test::testN816603()
{
// Bugdoc was 5 page in Word, 1 in Writer due to pointlessly wrapping the
// table in a frame. Exact layout may depend on fonts available, etc. --
// but at least make sure that our table spans over multiple pages now.
CPPUNIT_ASSERT(getPages() > 1);
}
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
CPPUNIT_PLUGIN_IMPLEMENT();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment