summaryrefslogtreecommitdiff
path: root/sw/qa
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2016-07-04 21:39:37 +0300
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-07-08 07:24:10 +0000
commita60b2f7c227709d27d6294558fd396557a9ffd20 (patch)
treea55d9d19f169ea12c8d37f6031a20100dc4ab824 /sw/qa
parentf8847d3ab4a5ea567f97b05181ed307135ade258 (diff)
tdf#64372 docx import: don't ignore continuous section break
If the previous break was also a continuous section break, this break was simply ignored ever since commit 1fdd61db155cf63d5dd55cc2bfb45af33796e131. Thus, the default handler took over and assigned PROP_PAGE_DESC if there was some kind of page style known (either the first page/Standard defaults or any "converted" styles that had been created) which effectively became a new page break. Change-Id: I839570b0330ba274552cc671014e997c42765f4b Reviewed-on: https://gerrit.libreoffice.org/26567 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'sw/qa')
-rwxr-xr-xsw/qa/extras/ooxmlexport/data/tdf64372_continuousBreaks.docxbin0 -> 11735 bytes
-rwxr-xr-xsw/qa/extras/ooxmlexport/data/tdf92724_continuousBreaksComplex.docxbin0 -> 26913 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport4.cxx20
-rw-r--r--sw/qa/extras/ooxmlimport/ooxmlimport.cxx7
4 files changed, 27 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf64372_continuousBreaks.docx b/sw/qa/extras/ooxmlexport/data/tdf64372_continuousBreaks.docx
new file mode 100755
index 000000000000..20ad82bb5115
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf64372_continuousBreaks.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/data/tdf92724_continuousBreaksComplex.docx b/sw/qa/extras/ooxmlexport/data/tdf92724_continuousBreaksComplex.docx
new file mode 100755
index 000000000000..808d05697bd0
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf92724_continuousBreaksComplex.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
index f2bb607e6e7f..c4ab555cde6a 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
@@ -971,6 +971,26 @@ DECLARE_OOXMLEXPORT_TEST(testTdf96750_landscapeFollow, "tdf96750_landscapeFollow
CPPUNIT_ASSERT_EQUAL(true, getProperty<bool>(xStyle, "IsLandscape"));
}
+DECLARE_OOXMLEXPORT_TEST(testTdf64372_continuousBreaks,"tdf64372_continuousBreaks.docx")
+{
+ //There are no page breaks, so everything should be on the first page.
+ uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
+ uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
+ uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
+ xCursor->jumpToLastPage();
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(1), xCursor->getPage());
+}
+
+DECLARE_OOXMLEXPORT_TEST(testTdf92724_continuousBreaksComplex,"tdf92724_continuousBreaksComplex.docx")
+{
+ //There are 2 page breaks, so there should be 3 pages.
+ uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
+ uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
+ uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
+ xCursor->jumpToLastPage();
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(3), xCursor->getPage());
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index d94d3ce6170e..4826c61b47e2 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -986,6 +986,13 @@ DECLARE_OOXMLIMPORT_TEST(testN780843, "n780843.docx")
xPara = getParagraph(1);
aStyleName = getProperty<OUString>(xPara, "PageStyleName");
CPPUNIT_ASSERT_EQUAL(OUString("First Page"), aStyleName);
+
+ //tdf64372 this document should only have one page break (2 pages, not 3)
+ uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
+ uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
+ uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
+ xCursor->jumpToLastPage();
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(2), xCursor->getPage());
}
DECLARE_OOXMLIMPORT_TEST(testShadow, "imgshadow.docx")