summaryrefslogtreecommitdiff
path: root/sw/qa/extras/mailmerge
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-10-11 00:31:44 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-10-11 08:19:46 +0200
commitd8d0914be7b5fee3e21ec088f518b09281ed34ee (patch)
treee0fe8c879b5aa97dbc4af0c2528bb28ff71252bc /sw/qa/extras/mailmerge
parent33f126b4262d1af9c3f0c2e850f5a13b3c6acfc2 (diff)
connectivity writer driver: survive merged cells
Fow now just don't crash on them, instead give empty result for those cells. Change-Id: I9edd231b00fa00af95408a550484da74c98275da Reviewed-on: https://gerrit.libreoffice.org/43319 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sw/qa/extras/mailmerge')
-rw-r--r--sw/qa/extras/mailmerge/data/10-testing-addresses-writer-merged.odtbin0 -> 12810 bytes
-rw-r--r--sw/qa/extras/mailmerge/data/writer-merged-mail-merge.odtbin0 -> 8421 bytes
-rw-r--r--sw/qa/extras/mailmerge/mailmerge.cxx16
3 files changed, 16 insertions, 0 deletions
diff --git a/sw/qa/extras/mailmerge/data/10-testing-addresses-writer-merged.odt b/sw/qa/extras/mailmerge/data/10-testing-addresses-writer-merged.odt
new file mode 100644
index 000000000000..e61d9fc04635
--- /dev/null
+++ b/sw/qa/extras/mailmerge/data/10-testing-addresses-writer-merged.odt
Binary files differ
diff --git a/sw/qa/extras/mailmerge/data/writer-merged-mail-merge.odt b/sw/qa/extras/mailmerge/data/writer-merged-mail-merge.odt
new file mode 100644
index 000000000000..8ec76852a34a
--- /dev/null
+++ b/sw/qa/extras/mailmerge/data/writer-merged-mail-merge.odt
Binary files differ
diff --git a/sw/qa/extras/mailmerge/mailmerge.cxx b/sw/qa/extras/mailmerge/mailmerge.cxx
index d7413f33a68a..3e29b7a9b01e 100644
--- a/sw/qa/extras/mailmerge/mailmerge.cxx
+++ b/sw/qa/extras/mailmerge/mailmerge.cxx
@@ -440,6 +440,22 @@ DECLARE_FILE_MAILMERGE_TEST(testWriterDataSource, "writer-mail-merge.odt", "10-t
}
}
+DECLARE_FILE_MAILMERGE_TEST(testWriterMergedDataSource, "writer-merged-mail-merge.odt", "10-testing-addresses-writer-merged.odt", "testing-addresses-writer-merged")
+{
+ // This failed with com.sun.star.lang.IndexOutOfBoundsException, leading to
+ // a crash, as the last row had merged cells in
+ // 10-testing-addresses-writer-merged.odt.
+ executeMailMerge();
+ for (int doc = 0; doc < 10; ++doc)
+ {
+ loadMailMergeDocument(doc);
+ CPPUNIT_ASSERT_EQUAL(1, getPages());
+ CPPUNIT_ASSERT_EQUAL(OUString("Fixed text."), getRun(getParagraph(1), 1)->getString());
+ CPPUNIT_ASSERT_EQUAL(OUString("lastname" + OUString::number(doc + 1)), getRun(getParagraph(2), 1)->getString());
+ CPPUNIT_ASSERT_EQUAL(OUString("Another fixed text."), getRun(getParagraph(3), 1)->getString());
+ }
+}
+
DECLARE_FILE_MAILMERGE_TEST(test2Pages, "simple-mail-merge-2pages.odt", "10-testing-addresses.ods", "testing-addresses")
{
executeMailMerge();