From 4a3328a98f00818044694a9b6a0f7cda392273c6 Mon Sep 17 00:00:00 2001 From: Matúš Kukan Date: Wed, 10 Dec 2014 12:06:49 +0100 Subject: sw: Unit test for cycle in lcl_CreatePortions Reviewed on: https://gerrit.libreoffice.org/13413 Conflicts: sw/qa/extras/uiwriter/uiwriter.cxx Change-Id: I26a8707046d7f30381fb51c41e49f8dee4796ba7 --- sw/qa/extras/uiwriter/data/uno-cycle.odt | Bin 0 -> 9118 bytes sw/qa/extras/uiwriter/uiwriter.cxx | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 sw/qa/extras/uiwriter/data/uno-cycle.odt (limited to 'sw/qa/extras') diff --git a/sw/qa/extras/uiwriter/data/uno-cycle.odt b/sw/qa/extras/uiwriter/data/uno-cycle.odt new file mode 100644 index 000000000000..51e798f84f8e Binary files /dev/null and b/sw/qa/extras/uiwriter/data/uno-cycle.odt differ diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index 4229877085f7..d3649d087fb7 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -63,6 +63,7 @@ public: void testAutoCorr(); void testFdo87005(); void testMergeDoc(); + void testCreatePortions(); CPPUNIT_TEST_SUITE(SwUiWriterTest); CPPUNIT_TEST(testReplaceForward); @@ -89,6 +90,7 @@ public: CPPUNIT_TEST(testAutoCorr); CPPUNIT_TEST(testFdo87005); CPPUNIT_TEST(testMergeDoc); + CPPUNIT_TEST(testCreatePortions); CPPUNIT_TEST_SUITE_END(); @@ -662,6 +664,21 @@ void SwUiWriterTest::testMergeDoc() getParagraph(7, ""); } +void SwUiWriterTest::testCreatePortions() +{ + createDoc("uno-cycle.odt"); + uno::Reference xBookmarksSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference xText(xBookmarksSupplier->getBookmarks()->getByName("Mark"), uno::UNO_QUERY); + uno::Reference xTextCursor(xText->getAnchor(), uno::UNO_QUERY); + CPPUNIT_ASSERT(xTextCursor.is()); + + uno::Reference xParagraph( + xTextCursor->createEnumeration()->nextElement(), uno::UNO_QUERY); + CPPUNIT_ASSERT(xParagraph.is()); + // This looped forever in lcl_CreatePortions + xParagraph->createEnumeration(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest); CPPUNIT_PLUGIN_IMPLEMENT(); -- cgit v1.2.3