summaryrefslogtreecommitdiff
path: root/sw/qa/extras/mailmerge
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2014-11-05 20:46:49 +0100
committerLuboš Luňák <l.lunak@collabora.com>2014-11-06 16:55:20 +0100
commit5f7bdec8207672c68c34dbbd833bf6b534cf182f (patch)
treeee417a05fc628e29ec704831514f9af649460b96 /sw/qa/extras/mailmerge
parent3b72f55247a5d9b62490b66900d91f797674b50d (diff)
unit test to verify basic mail merge layout for 2 pages
Change-Id: I2172d0185a2481700ffe152e58ebd5bd9c6a4fab
Diffstat (limited to 'sw/qa/extras/mailmerge')
-rw-r--r--sw/qa/extras/mailmerge/data/simple-mail-merge-2pages.odtbin0 -> 8616 bytes
-rw-r--r--sw/qa/extras/mailmerge/mailmerge.cxx26
2 files changed, 26 insertions, 0 deletions
diff --git a/sw/qa/extras/mailmerge/data/simple-mail-merge-2pages.odt b/sw/qa/extras/mailmerge/data/simple-mail-merge-2pages.odt
new file mode 100644
index 000000000000..c0a86ae3edff
--- /dev/null
+++ b/sw/qa/extras/mailmerge/data/simple-mail-merge-2pages.odt
Binary files differ
diff --git a/sw/qa/extras/mailmerge/mailmerge.cxx b/sw/qa/extras/mailmerge/mailmerge.cxx
index 78573b3e2a64..efb356ce13f7 100644
--- a/sw/qa/extras/mailmerge/mailmerge.cxx
+++ b/sw/qa/extras/mailmerge/mailmerge.cxx
@@ -164,6 +164,32 @@ DECLARE_FILE_MAILMERGE_TEST(testSimpleMailMerge, "simple-mail-merge.odt", "10-te
}
}
+DECLARE_FILE_MAILMERGE_TEST(test2Pages, "simple-mail-merge-2pages.odt", "10-testing-addresses.ods", "testing-addresses")
+{
+ executeMailMerge();
+ for( int doc = 0;
+ doc < 10;
+ ++doc )
+ {
+ loadMailMergeDocument( doc );
+ OUString lastname = "lastname" + OUString::number( doc + 1 );
+ OUString firstname = "firstname" + OUString::number( doc + 1 );
+ CPPUNIT_ASSERT_EQUAL( 2, getPages());
+ CPPUNIT_ASSERT_EQUAL( OUString( "Fixed text." ), getRun( getParagraph( 1 ), 1 )->getString());
+ CPPUNIT_ASSERT_EQUAL( lastname, getRun( getParagraph( 2 ), 1 )->getString());
+ CPPUNIT_ASSERT_EQUAL( OUString( "Another fixed text." ), getRun( getParagraph( 3 ), 1 )->getString());
+ CPPUNIT_ASSERT_EQUAL( OUString( "" ), getRun( getParagraph( 4 ), 1 )->getString()); // empty para at the end of page 1
+ CPPUNIT_ASSERT_EQUAL( OUString( "Second page." ), getRun( getParagraph( 5 ), 1 )->getString());
+ CPPUNIT_ASSERT_EQUAL( firstname, getRun( getParagraph( 6 ), 1 )->getString());
+ // Also verify the layout.
+ CPPUNIT_ASSERT_EQUAL( lastname, parseDump("/root/page[1]/body/txt[2]/Special", "rText"));
+ CPPUNIT_ASSERT_EQUAL( OUString( "Fixed text." ), parseDump("/root/page[1]/body/txt[1]", ""));
+ CPPUNIT_ASSERT_EQUAL( OUString( "" ), parseDump("/root/page[1]/body/txt[4]", ""));
+ CPPUNIT_ASSERT_EQUAL( OUString( "Second page." ), parseDump("/root/page[2]/body/txt[1]", ""));
+ CPPUNIT_ASSERT_EQUAL( firstname, parseDump("/root/page[2]/body/txt[2]/Special", "rText"));
+ }
+}
+
#endif
CPPUNIT_PLUGIN_IMPLEMENT();