From 60912747087f37f919875677478dbad8165047c6 Mon Sep 17 00:00:00 2001 From: Bjoern Michaelsen Date: Mon, 8 Dec 2014 00:06:36 +0100 Subject: test for document merge Change-Id: Ic6d10a611d9e9351eb9403e1405ec7b17293e816 --- sw/qa/extras/uiwriter/data/merge-change1.odt | Bin 0 -> 12057 bytes sw/qa/extras/uiwriter/data/merge-change2.odt | Bin 0 -> 12300 bytes sw/qa/extras/uiwriter/uiwriter.cxx | 31 +++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 sw/qa/extras/uiwriter/data/merge-change1.odt create mode 100644 sw/qa/extras/uiwriter/data/merge-change2.odt (limited to 'sw/qa/extras') diff --git a/sw/qa/extras/uiwriter/data/merge-change1.odt b/sw/qa/extras/uiwriter/data/merge-change1.odt new file mode 100644 index 000000000000..02bd488a1a08 Binary files /dev/null and b/sw/qa/extras/uiwriter/data/merge-change1.odt differ diff --git a/sw/qa/extras/uiwriter/data/merge-change2.odt b/sw/qa/extras/uiwriter/data/merge-change2.odt new file mode 100644 index 000000000000..3644f8149fe8 Binary files /dev/null and b/sw/qa/extras/uiwriter/data/merge-change2.odt differ diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index 73529832bd37..4229877085f7 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -62,6 +62,7 @@ public: void testFdo85554(); void testAutoCorr(); void testFdo87005(); + void testMergeDoc(); CPPUNIT_TEST_SUITE(SwUiWriterTest); CPPUNIT_TEST(testReplaceForward); @@ -87,6 +88,7 @@ public: CPPUNIT_TEST(testFdo85554); CPPUNIT_TEST(testAutoCorr); CPPUNIT_TEST(testFdo87005); + CPPUNIT_TEST(testMergeDoc); CPPUNIT_TEST_SUITE_END(); @@ -631,6 +633,35 @@ void SwUiWriterTest::testFdo87005() assertXPath(pXmlDoc, "//Special[@nType='POR_FLY']", 2); } +void SwUiWriterTest::testMergeDoc() +{ + SwDoc* const pDoc1(createDoc("merge-change1.odt")); + + auto xDoc2Component(loadFromDesktop( + getURLFromSrc(DATA_DIRECTORY) + OUString("merge-change2.odt"), + "com.sun.star.text.TextDocument")); + auto pxDoc2Document( + dynamic_cast(xDoc2Component.get())); + CPPUNIT_ASSERT(pxDoc2Document); + SwDoc* const pDoc2(pxDoc2Document->GetDocShell()->GetDoc()); + + SwEditShell* const pEditShell(pDoc1->GetEditShell()); + pEditShell->MergeDoc(*pDoc2); + + // accept all redlines + while(pEditShell->GetRedlineCount()) + pEditShell->AcceptRedline(0); + + CPPUNIT_ASSERT_EQUAL(7, getParagraphs()); + getParagraph(1, "Para One: Two Three Four Five"); + getParagraph(2, "Para Two: One Three Four Five"); + getParagraph(3, "Para Three: One Two Four Five"); + getParagraph(4, "Para Four: One Two Three Four Five"); + getParagraph(5, "Para Six: One Three Four Five"); + getParagraph(6, ""); + getParagraph(7, ""); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest); CPPUNIT_PLUGIN_IMPLEMENT(); -- cgit v1.2.3