summaryrefslogtreecommitdiff
path: root/sw/qa/extras
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-12-10 12:06:49 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-12-10 16:22:14 +0100
commit4a3328a98f00818044694a9b6a0f7cda392273c6 (patch)
tree0396dd5873b58f08033c6959fa4f23fc81f83506 /sw/qa/extras
parent6d65e30fbaba383cbb9e1db6230a04865897ac8f (diff)
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
Diffstat (limited to 'sw/qa/extras')
-rw-r--r--sw/qa/extras/uiwriter/data/uno-cycle.odtbin0 -> 9118 bytes
-rw-r--r--sw/qa/extras/uiwriter/uiwriter.cxx17
2 files changed, 17 insertions, 0 deletions
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
--- /dev/null
+++ b/sw/qa/extras/uiwriter/data/uno-cycle.odt
Binary files 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<text::XBookmarksSupplier> xBookmarksSupplier(mxComponent, uno::UNO_QUERY);
+ uno::Reference<text::XTextContent> xText(xBookmarksSupplier->getBookmarks()->getByName("Mark"), uno::UNO_QUERY);
+ uno::Reference<container::XEnumerationAccess> xTextCursor(xText->getAnchor(), uno::UNO_QUERY);
+ CPPUNIT_ASSERT(xTextCursor.is());
+
+ uno::Reference<container::XEnumerationAccess> 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();