sw/CppunitTest_sw_mailmerge.mk | 1 + sw/qa/extras/mailmerge/data/tdf62364.odt |binary sw/qa/extras/mailmerge/mailmerge.cxx | 28 ++++++++++++++++++++++++++++ 3 files changed, 29 insertions(+)
New commits: commit 182db646cfef44d26a4ced4bc745987e27900eb2 Author: Serge Krot <serge.k...@cib.de> AuthorDate: Tue Dec 11 12:20:12 2018 +0100 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Tue Dec 11 15:13:12 2018 +0100 tdf#62364: mailmerge: new unit test Problem was: during mailmerge, all paragraphs became list nodes when the last node in original document (template) was list node. Change-Id: I8b457c5ef04ab6569e7860deb1f5b3d73dadacd0 Reviewed-on: https://gerrit.libreoffice.org/64955 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sw/CppunitTest_sw_mailmerge.mk b/sw/CppunitTest_sw_mailmerge.mk index 5f943f74f364..6d9df162df5c 100644 --- a/sw/CppunitTest_sw_mailmerge.mk +++ b/sw/CppunitTest_sw_mailmerge.mk @@ -19,6 +19,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_mailmerge, \ cppuhelper \ sal \ sfx \ + svl \ sw \ test \ tl \ diff --git a/sw/qa/extras/mailmerge/data/tdf62364.odt b/sw/qa/extras/mailmerge/data/tdf62364.odt new file mode 100644 index 000000000000..70def3730e26 Binary files /dev/null and b/sw/qa/extras/mailmerge/data/tdf62364.odt differ diff --git a/sw/qa/extras/mailmerge/mailmerge.cxx b/sw/qa/extras/mailmerge/mailmerge.cxx index c1d78685ff24..ebcea54e764d 100644 --- a/sw/qa/extras/mailmerge/mailmerge.cxx +++ b/sw/qa/extras/mailmerge/mailmerge.cxx @@ -900,5 +900,33 @@ DECLARE_SHELL_MAILMERGE_TEST(testTdf118845, "tdf118845.fodt", "4_v01.ods", "Tabe CPPUNIT_ASSERT_EQUAL(OUString(""), xParagraph->getString()); } +DECLARE_SHELL_MAILMERGE_TEST(testTdf62364, "tdf62364.odt", "10-testing-addresses.ods", "testing-addresses") +{ + // prepare unit test and run + executeMailMerge(); + SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument *>(mxMMComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + CPPUNIT_ASSERT_EQUAL( sal_uInt16( 19 ), pTextDoc->GetDocShell()->GetWrtShell()->GetPhyPageNum()); // 10 pages, but each sub-document starts on odd page number + + // check: each page (one page is one sub doc) has 4 paragraphs: + // - 1st and 2nd are regular paragraphs + // - 3rd and 4th are inside list + const bool nodeInList[4] = { false, false, true, true }; + + const auto & rNodes = pTextDoc->GetDocShell()->GetDoc()->GetNodes(); + for (int pageIndex=0; pageIndex<10; pageIndex++) + { + for (int nodeIndex = 0; nodeIndex<4; nodeIndex++) + { + const SwNodePtr aNode = rNodes[9 + pageIndex * 4 + nodeIndex]; + CPPUNIT_ASSERT_EQUAL(true, aNode->IsTextNode()); + + const SwTextNode* pTextNode = aNode->GetTextNode(); + CPPUNIT_ASSERT(pTextNode); + CPPUNIT_ASSERT_EQUAL(nodeInList[nodeIndex], pTextNode->GetSwAttrSet().HasItem(RES_PARATR_LIST_ID)); + } + } +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits