sw: move header/footer tests to own class in core tests
In addition add some more basic header/footer tests. This makes refactoring of header and footer OOXML import much easier. Change-Id: I5b3b3714656ba2f7b1dda8d8f067c3bfe68857a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159946 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
This commit is contained in:
parent
5589659829
commit
9e876c164a
56 changed files with 1348 additions and 819 deletions
73
sw/CppunitTest_sw_core_header_footer.mk
Normal file
73
sw/CppunitTest_sw_core_header_footer.mk
Normal file
|
@ -0,0 +1,73 @@
|
|||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
#*************************************************************************
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
#*************************************************************************
|
||||
|
||||
$(eval $(call gb_CppunitTest_CppunitTest,sw_core_header_footer))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_common_precompiled_header,sw_core_header_footer))
|
||||
|
||||
$(eval $(call gb_CppunitTest_add_exception_objects,sw_core_header_footer, \
|
||||
sw/qa/core/header_footer/HeaderFooterTest \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_libraries,sw_core_header_footer, \
|
||||
comphelper \
|
||||
cppu \
|
||||
cppuhelper \
|
||||
sal \
|
||||
sfx \
|
||||
subsequenttest \
|
||||
sw \
|
||||
swqahelper \
|
||||
test \
|
||||
unotest \
|
||||
utl \
|
||||
vcl \
|
||||
svt \
|
||||
tl \
|
||||
svl \
|
||||
svxcore \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_externals,sw_core_header_footer,\
|
||||
boost_headers \
|
||||
libxml2 \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_set_include,sw_core_header_footer,\
|
||||
-I$(SRCDIR)/sw/inc \
|
||||
-I$(SRCDIR)/sw/source/core/inc \
|
||||
-I$(SRCDIR)/sw/source/uibase/inc \
|
||||
-I$(SRCDIR)/sw/qa/inc \
|
||||
$$(INCLUDE) \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_api,sw_core_header_footer,\
|
||||
udkapi \
|
||||
offapi \
|
||||
oovbaapi \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_ure,sw_core_header_footer))
|
||||
$(eval $(call gb_CppunitTest_use_vcl,sw_core_header_footer))
|
||||
$(eval $(call gb_CppunitTest_use_rdb,sw_core_header_footer,services))
|
||||
$(eval $(call gb_CppunitTest_use_configuration,sw_core_header_footer))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_custom_headers,sw_core_header_footer,\
|
||||
officecfg/registry \
|
||||
))
|
||||
|
||||
$(eval $(call gb_CppunitTest_use_uiconfigs,sw_core_header_footer, \
|
||||
modules/swriter \
|
||||
svt \
|
||||
svx \
|
||||
))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
|
@ -158,6 +158,7 @@ $(eval $(call gb_Module_add_slowcheck_targets,sw,\
|
|||
CppunitTest_sw_uibase_fldui \
|
||||
CppunitTest_sw_core_view \
|
||||
CppunitTest_sw_core_attr \
|
||||
CppunitTest_sw_core_header_footer \
|
||||
CppunitTest_sw_filter_ww8 \
|
||||
CppunitTest_sw_filter_html \
|
||||
CppunitTest_sw_filter_xml \
|
||||
|
|
1274
sw/qa/core/header_footer/HeaderFooterTest.cxx
Normal file
1274
sw/qa/core/header_footer/HeaderFooterTest.cxx
Normal file
File diff suppressed because it is too large
Load diff
BIN
sw/qa/core/header_footer/data/DoubleFirstLeftRight.docx
Normal file
BIN
sw/qa/core/header_footer/data/DoubleFirstLeftRight.docx
Normal file
Binary file not shown.
BIN
sw/qa/core/header_footer/data/DoubleFirstLeftRight.odt
Normal file
BIN
sw/qa/core/header_footer/data/DoubleFirstLeftRight.odt
Normal file
Binary file not shown.
BIN
sw/qa/core/header_footer/data/FirstPageHeaderShape.docx
Normal file
BIN
sw/qa/core/header_footer/data/FirstPageHeaderShape.docx
Normal file
Binary file not shown.
BIN
sw/qa/core/header_footer/data/FirstPageHeaderShape.odt
Normal file
BIN
sw/qa/core/header_footer/data/FirstPageHeaderShape.odt
Normal file
Binary file not shown.
BIN
sw/qa/core/header_footer/data/SimpleFirstLeftRight.docx
Normal file
BIN
sw/qa/core/header_footer/data/SimpleFirstLeftRight.docx
Normal file
Binary file not shown.
BIN
sw/qa/core/header_footer/data/SimpleFirstLeftRight.odt
Normal file
BIN
sw/qa/core/header_footer/data/SimpleFirstLeftRight.odt
Normal file
Binary file not shown.
BIN
sw/qa/core/header_footer/data/TestFirstFooterDisabled.docx
Normal file
BIN
sw/qa/core/header_footer/data/TestFirstFooterDisabled.docx
Normal file
Binary file not shown.
BIN
sw/qa/core/header_footer/data/TestPageStyleOnlyLeft.docx
Normal file
BIN
sw/qa/core/header_footer/data/TestPageStyleOnlyLeft.docx
Normal file
Binary file not shown.
BIN
sw/qa/core/header_footer/data/tdf135216_evenOddFooter.docx
Normal file
BIN
sw/qa/core/header_footer/data/tdf135216_evenOddFooter.docx
Normal file
Binary file not shown.
|
@ -758,26 +758,6 @@ DECLARE_ODFEXPORT_TEST(testFdo79358, "fdo79358.odt")
|
|||
CPPUNIT_ASSERT_EQUAL(uno::Any(uno::Sequence<OUString>()), xLevels->getByIndex(2));
|
||||
}
|
||||
|
||||
DECLARE_ODFEXPORT_TEST(testFirstHeaderFooter, "first-header-footer.odt")
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(6, getPages());
|
||||
// Test import and export of the header-first token.
|
||||
|
||||
// The document has 6 pages, two page styles for the first and second half of pages.
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First header"), parseDump("/root/page[1]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First footer"), parseDump("/root/page[1]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Left header"), parseDump("/root/page[2]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Left footer"), parseDump("/root/page[2]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Right header"), parseDump("/root/page[3]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Right footer"), parseDump("/root/page[3]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First header2"), parseDump("/root/page[4]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First footer2"), parseDump("/root/page[4]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Right header2"), parseDump("/root/page[5]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Right footer2"), parseDump("/root/page[5]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Left header2"), parseDump("/root/page[6]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Left footer2"), parseDump("/root/page[6]/footer/txt/text()"_ostr));
|
||||
}
|
||||
|
||||
DECLARE_ODFEXPORT_TEST(testTextframeGradient, "textframe-gradient.odt")
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(2, getShapes());
|
||||
|
@ -1874,47 +1854,6 @@ DECLARE_ODFEXPORT_TEST(testFdo86963, "fdo86963.odt")
|
|||
CPPUNIT_ASSERT_EQUAL(1, getShapes());
|
||||
}
|
||||
|
||||
// Check for correct header/footer with special first page with TOC inside:
|
||||
// - DECLARE_ODFEXPORT_TEST(testTdf118393, "tdf118393.odt")
|
||||
// - DECLARE_OOXMLEXPORT_TEST(testTdf118393, "tdf118393.odt")
|
||||
DECLARE_ODFEXPORT_TEST(testTdf118393, "tdf118393.odt")
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL( 7, getPages() );
|
||||
|
||||
// First page has no header/footer
|
||||
{
|
||||
xmlDocUniquePtr pXmlDoc = parseLayoutDump();
|
||||
|
||||
// check first page
|
||||
assertXPath(pXmlDoc, "/root/page[1]/header"_ostr, 0);
|
||||
assertXPath(pXmlDoc, "/root/page[1]/footer"_ostr, 0);
|
||||
|
||||
// check second page in the same way
|
||||
assertXPath(pXmlDoc, "/root/page[2]/header"_ostr);
|
||||
assertXPath(pXmlDoc, "/root/page[2]/footer"_ostr);
|
||||
}
|
||||
|
||||
// All other pages should have header/footer
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[2]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[2]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[3]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[3]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[4]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[4]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[5]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[5]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[6]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[6]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[7]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[7]/footer/txt/text()"_ostr));
|
||||
}
|
||||
|
||||
DECLARE_ODFEXPORT_TEST(testTdf135338_firstLeftPageFooter, "tdf135338_firstLeftPageFooter.odt")
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(6, getPages());
|
||||
|
|
Binary file not shown.
|
@ -63,48 +63,6 @@ CPPUNIT_TEST_FIXTURE(Test, testFooterBodyDistance)
|
|||
assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:r/w:br"_ostr, 1);
|
||||
}
|
||||
|
||||
// Check for correct header/footer with special first page with TOC inside:
|
||||
// - DECLARE_ODFEXPORT_TEST(testTdf118393, "tdf118393.odt")
|
||||
// - DECLARE_OOXMLEXPORT_TEST(testTdf118393, "tdf118393.odt")
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf118393)
|
||||
{
|
||||
loadAndReload("tdf118393.odt");
|
||||
CPPUNIT_ASSERT_EQUAL( 7, getPages() );
|
||||
|
||||
// First page has no header/footer
|
||||
{
|
||||
xmlDocUniquePtr pXmlDoc = parseLayoutDump();
|
||||
|
||||
// check first page
|
||||
assertXPath(pXmlDoc, "/root/page[1]/header"_ostr, 0);
|
||||
assertXPath(pXmlDoc, "/root/page[1]/footer"_ostr, 0);
|
||||
|
||||
// check second page in the same way
|
||||
assertXPath(pXmlDoc, "/root/page[2]/header"_ostr);
|
||||
assertXPath(pXmlDoc, "/root/page[2]/footer"_ostr);
|
||||
}
|
||||
|
||||
// All other pages should have header/footer
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[2]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[2]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[3]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[3]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[4]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[4]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[5]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[5]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[6]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[6]/footer/txt/text()"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[7]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Seite * von *"), parseDump("/root/page[7]/footer/txt/text()"_ostr));
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testfdo81031, "fdo81031.docx")
|
||||
{
|
||||
// vml image was not rendered
|
||||
|
@ -170,48 +128,6 @@ CPPUNIT_TEST_FIXTURE(Test, testParaShading)
|
|||
assertXPathNoAttribute(pXmlDoc, "/w:document/w:body/w:p/w:pPr/w:shd"_ostr, "themeColor"_ostr);
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testFirstHeaderFooter, "first-header-footer.docx")
|
||||
{
|
||||
// Test import and export of a section's headerf/footerf properties.
|
||||
// (copied from a ww8export test, with doc converted to docx using Word)
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 6, getPages() );
|
||||
|
||||
// The document has 6 pages. Note that we don't test if 4 or just 2 page
|
||||
// styles are created, the point is that layout should be correct.
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header"), parseDump("/root/page[1]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer"), parseDump("/root/page[1]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header"), parseDump("/root/page[2]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer"), parseDump("/root/page[2]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header"), parseDump("/root/page[3]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer"), parseDump("/root/page[3]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header2"), parseDump("/root/page[4]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer 2"), parseDump("/root/page[4]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header 2"), parseDump("/root/page[5]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer 2"), parseDump("/root/page[5]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header 2"), parseDump("/root/page[6]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer 2"), parseDump("/root/page[6]/footer/txt/text()"_ostr));
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testFirstHeaderFooterB)
|
||||
{
|
||||
loadAndReload("first-header-footerB.odt");
|
||||
CPPUNIT_ASSERT_EQUAL( 6, getPages() );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header"), parseDump("/root/page[1]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer"), parseDump("/root/page[1]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header"), parseDump("/root/page[2]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer"), parseDump("/root/page[2]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header"), parseDump("/root/page[3]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer"), parseDump("/root/page[3]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header2"), parseDump("/root/page[4]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer 2"), parseDump("/root/page[4]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header 2"), parseDump("/root/page[5]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer 2"), parseDump("/root/page[5]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header 2"), parseDump("/root/page[6]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer 2"), parseDump("/root/page[6]/footer/txt/text()"_ostr));
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testFDO83044)
|
||||
{
|
||||
loadAndSave("fdo83044.docx");
|
||||
|
@ -483,44 +399,6 @@ CPPUNIT_TEST_FIXTURE(Test, testRot270Flipv)
|
|||
assertXPath(pXmlDoc, "//a:xfrm"_ostr, "rot"_ostr, "16200000");
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testMsoPosition)
|
||||
{
|
||||
loadAndSave("bnc884615-mso-position.docx");
|
||||
{
|
||||
xmlDocUniquePtr doc = parseExport("word/footer1.xml");
|
||||
// We write the frames out in different order than they were read, so check it's the correct
|
||||
// textbox first by checking width. These tests may need reordering if that gets fixed.
|
||||
OUString style1 = getXPath(doc, "/w:ftr/w:p/w:r[3]/mc:AlternateContent/mc:Fallback/w:pict/v:rect"_ostr, "style"_ostr);
|
||||
CPPUNIT_ASSERT( style1.indexOf( ";width:531pt;" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style1.indexOf( ";mso-position-vertical-relative:page" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style1.indexOf( ";mso-position-horizontal-relative:page" ) >= 0 );
|
||||
OUString style2 = getXPath(doc, "/w:ftr/w:p/w:r[4]/mc:AlternateContent/mc:Fallback/w:pict/v:rect"_ostr, "style"_ostr);
|
||||
CPPUNIT_ASSERT( style2.indexOf( ";width:549pt;" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style2.indexOf( ";mso-position-vertical-relative:text" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style2.indexOf( ";mso-position-horizontal:center" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style2.indexOf( ";mso-position-horizontal-relative:text" ) >= 0 );
|
||||
OUString style3 = getXPath(doc, "/w:ftr/w:p/w:r[5]/mc:AlternateContent/mc:Fallback/w:pict/v:rect"_ostr, "style"_ostr);
|
||||
CPPUNIT_ASSERT( style3.indexOf( ";width:36pt;" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style3.indexOf( ";mso-position-horizontal-relative:text" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style3.indexOf( ";mso-position-vertical-relative:text" ) >= 0 );
|
||||
}
|
||||
|
||||
xmlDocUniquePtr doc = parseExport("word/header1.xml");
|
||||
OUString style1 = getXPath(doc, "/w:hdr/w:p/w:r[2]/mc:AlternateContent/mc:Fallback/w:pict/v:rect"_ostr, "style"_ostr);
|
||||
CPPUNIT_ASSERT( style1.indexOf( ";width:335.75pt;" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style1.indexOf( ";mso-position-horizontal-relative:page" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style1.indexOf( ";mso-position-vertical-relative:page" ) >= 0 );
|
||||
OUString style2 = getXPath(doc, "/w:hdr/w:p/w:r[3]/mc:AlternateContent/mc:Fallback/w:pict/v:rect"_ostr, "style"_ostr);
|
||||
CPPUNIT_ASSERT( style2.indexOf( ";width:138.15pt;" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style2.indexOf( ";mso-position-horizontal-relative:page" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style2.indexOf( ";mso-position-vertical-relative:page" ) >= 0 );
|
||||
OUString style3 = getXPath(doc, "/w:hdr/w:p/w:r[4]/mc:AlternateContent/mc:Fallback/w:pict/v:rect"_ostr, "style"_ostr);
|
||||
CPPUNIT_ASSERT( style3.indexOf( ";width:163.8pt;" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style3.indexOf( ";mso-position-horizontal-relative:page" ) >= 0 );
|
||||
CPPUNIT_ASSERT( style3.indexOf( ";mso-position-vertical-relative:page" ) >= 0 );
|
||||
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testWpsCharColor, "wps-char-color.docx")
|
||||
{
|
||||
uno::Reference<text::XTextRange> xShape(getShape(1), uno::UNO_QUERY);
|
||||
|
@ -935,13 +813,6 @@ DECLARE_OOXMLEXPORT_TEST(testTdf91261, "tdf91261.docx")
|
|||
bool bGridSnapToChars;
|
||||
xStyle->getPropertyValue("GridSnapToChars") >>= bGridSnapToChars;
|
||||
CPPUNIT_ASSERT_EQUAL(true, bGridSnapToChars);
|
||||
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTdf79639, "tdf79639.docx")
|
||||
{
|
||||
// This was 0, floating table in header wasn't converted to a TextFrame.
|
||||
CPPUNIT_ASSERT_EQUAL(1, getShapes());
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTdf89890, "tdf89890.docx")
|
||||
|
|
|
@ -706,32 +706,6 @@ DECLARE_OOXMLEXPORT_TEST(testFdo79535, "fdo79535.docx")
|
|||
CPPUNIT_ASSERT_EQUAL(1, getPages());
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testBnc875718, "bnc875718.docx")
|
||||
{
|
||||
// The frame in the footer must not accidentally end up in the document body.
|
||||
// The easiest way for this to test I've found is checking that
|
||||
// xray ThisComponent.TextFrames.GetByIndex( index ).Anchor.Text.ImplementationName
|
||||
// is not SwXBodyText but rather SwXHeadFootText
|
||||
uno::Reference<text::XTextFramesSupplier> xTextFramesSupplier(mxComponent, uno::UNO_QUERY);
|
||||
uno::Reference<container::XIndexAccess> xIndexAccess(xTextFramesSupplier->getTextFrames(), uno::UNO_QUERY);
|
||||
// The sample bugdoc has 3 footer.xml and has a textframe in each. The first one is hidden
|
||||
// and it has no text in its anchored text range: it is anchored to body text. Ignoring...
|
||||
for( int i = 1;
|
||||
i < xIndexAccess->getCount();
|
||||
++i )
|
||||
{
|
||||
uno::Reference<text::XTextFrame> frame(xIndexAccess->getByIndex( i ), uno::UNO_QUERY);
|
||||
uno::Reference<text::XTextRange> range = frame->getAnchor();
|
||||
uno::Reference<lang::XServiceInfo> text(range->getText(), uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL( OUString( "SwXHeadFootText" ), text->getImplementationName());
|
||||
}
|
||||
// Also check that the footer contents are not in the body text.
|
||||
uno::Reference<text::XTextDocument> textDocument(mxComponent, uno::UNO_QUERY);
|
||||
uno::Reference<text::XText> text = textDocument->getText();
|
||||
CPPUNIT_ASSERT(text); //Do not crash on empty content
|
||||
CPPUNIT_ASSERT_EQUAL( OUString( "Text" ), text->getString());
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testCaption, "caption.docx")
|
||||
{
|
||||
uno::Reference<beans::XPropertySet> xStyle(getStyles("ParagraphStyles")->getByName("Caption"), uno::UNO_QUERY);
|
||||
|
|
|
@ -254,32 +254,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf76683_negativeTwipsMeasure)
|
|||
CPPUNIT_ASSERT( nColumn1 > nColumn2 );
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTdf112694, "tdf112694.docx")
|
||||
{
|
||||
uno::Any aPageStyle = getStyles("PageStyles")->getByName("Standard");
|
||||
// Header was on when header for file was for explicit first pages only
|
||||
// (marked via <w:titlePg>).
|
||||
CPPUNIT_ASSERT(!getProperty<bool>(aPageStyle, "HeaderIsOn"));
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf113849_evenAndOddHeaders)
|
||||
{
|
||||
loadAndReload("tdf113849_evenAndOddHeaders.odt");
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Header2 text", OUString("L. J. Kendall"), parseDump("/root/page[2]/header/txt"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Footer2 text", OUString("*"), parseDump("/root/page[2]/footer/txt"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Header3 text", OUString("Shadow Hunt"), parseDump("/root/page[3]/header/txt"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Footer3 text", OUString("*"), parseDump("/root/page[3]/footer/txt"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Header4 text", OUString("L. J. Kendall"), parseDump("/root/page[4]/header/txt"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Footer4 text", OUString("*"), parseDump("/root/page[4]/footer/txt"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Footer5 text", OUString(""), parseDump("/root/page[5]/footer/txt"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Footer6 text", OUString(""), parseDump("/root/page[6]/footer/txt"_ostr));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("Number of pages", 6, getPages() );
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTdf118361_RTLfootnoteSeparator, "tdf118361_RTLfootnoteSeparator.docx")
|
||||
{
|
||||
uno::Any aPageStyle = getStyles("PageStyles")->getByName("Standard");
|
||||
|
|
|
@ -1408,49 +1408,6 @@ DECLARE_OOXMLEXPORT_TEST(testTdf130088, "tdf130088.docx")
|
|||
CPPUNIT_ASSERT_EQUAL(1, getPages());
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testContSectBreakHeaderFooter, "cont-sect-break-header-footer.docx")
|
||||
{
|
||||
// Load a document with a continuous section break on page 2.
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header, section 1"),
|
||||
parseDump("/root/page[1]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer, section 1"),
|
||||
parseDump("/root/page[1]/footer/txt/text()"_ostr));
|
||||
// Make sure the header stays like this; if we naively just update the page style name of the
|
||||
// first para on page 2, then this would be 'Header, section 2', which is incorrect.
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header, section 2"),
|
||||
parseDump("/root/page[2]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer, section 2"),
|
||||
parseDump("/root/page[2]/footer/txt/text()"_ostr));
|
||||
// This is inherited from page 2.
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Header, section 2"),
|
||||
parseDump("/root/page[3]/header/txt/text()"_ostr));
|
||||
// Without the accompanying fix in place, this test would have failed with:
|
||||
// - Expected: 1
|
||||
// - Actual : 0
|
||||
// - xpath should match exactly 1 node
|
||||
// i.e. the footer had no text (inherited from page 2), while the correct behavior is to provide
|
||||
// the own footer text.
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Footer, section 3"),
|
||||
parseDump("/root/page[3]/footer/txt/text()"_ostr));
|
||||
|
||||
// Without the export fix in place, the import-export-import test would have failed with:
|
||||
// - Expected: Header, section 2
|
||||
// - Actual : First page header, section 2
|
||||
// i.e. both the header and the footer on page 3 was wrong.
|
||||
|
||||
// Additional problem: top margin on page 3 was wrong.
|
||||
if (isExported())
|
||||
{
|
||||
xmlDocUniquePtr pXml = parseExport("word/document.xml");
|
||||
// Without the accompanying fix in place, this test would have failed with:
|
||||
// - Expected: 2200
|
||||
// - Actual : 2574
|
||||
// i.e. the top margin on page 3 was too large and now matches the value from the input
|
||||
// document.
|
||||
assertXPath(pXml, "/w:document/w:body/w:sectPr/w:pgMar"_ostr, "top"_ostr, "2200");
|
||||
}
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testHyphenationAuto)
|
||||
{
|
||||
loadAndReload("hyphenation.odt");
|
||||
|
|
|
@ -505,51 +505,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf145998_unnecessaryPageStyles)
|
|||
CPPUNIT_ASSERT_EQUAL(OUString(), parseDump("/root/page[5]/footer/txt"_ostr));
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf145998_firstHeader)
|
||||
{
|
||||
loadAndReload("tdf145998_firstHeader.odt");
|
||||
|
||||
// Sanity check - always good to test when dealing with page styles and breaks.
|
||||
CPPUNIT_ASSERT_EQUAL(2, getPages());
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Very first header"), parseDump("/root/page[1]/header/txt"_ostr));
|
||||
|
||||
// Page Style is already used in prior section - this can't be the first-header
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Normal Header"), parseDump("/root/page[2]/header/txt"_ostr));
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf135216_evenOddFooter)
|
||||
{
|
||||
loadAndReload("tdf135216_evenOddFooter.odt");
|
||||
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);
|
||||
|
||||
// get LO page style for the first page (even page #2)
|
||||
OUString pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
uno::Reference<container::XNameAccess> xPageStyles = getStyles("PageStyles");
|
||||
uno::Reference<style::XStyle> xPageStyle(xPageStyles->getByName(pageStyleName), uno::UNO_QUERY);
|
||||
|
||||
xCursor->jumpToFirstPage(); // Even/Left page #2
|
||||
uno::Reference<text::XText> xFooter = getProperty<uno::Reference<text::XText>>(xPageStyle, "FooterTextLeft");
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("even page"), xFooter->getString());
|
||||
|
||||
xCursor->jumpToNextPage();
|
||||
pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
xPageStyle.set(xPageStyles->getByName(pageStyleName), uno::UNO_QUERY);
|
||||
xFooter.set(getProperty<uno::Reference<text::XText>>(xPageStyle, "FooterTextFirst"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("odd page - first footer"), xFooter->getString());
|
||||
|
||||
xCursor->jumpToNextPage();
|
||||
pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
xPageStyle.set(xPageStyles->getByName(pageStyleName), uno::UNO_QUERY);
|
||||
xFooter.set(getProperty<uno::Reference<text::XText>>(xPageStyle, "FooterTextLeft"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("even page"), xFooter->getString());
|
||||
|
||||
// The contents of paragraph 2 should be the page number (2) located on page 1.
|
||||
getParagraph(2, "2");
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf136929_framesOfParagraph)
|
||||
{
|
||||
loadAndReload("tdf136929_framesOfParagraph.odt");
|
||||
|
|
|
@ -478,23 +478,6 @@ CPPUNIT_TEST_FIXTURE(Test, testCustomShapePresetExport)
|
|||
CPPUNIT_ASSERT_EQUAL(17, nCount);
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf69635)
|
||||
{
|
||||
loadAndSave("tdf69635.docx");
|
||||
xmlDocUniquePtr pXmlHeader1 = parseExport("word/header1.xml");
|
||||
xmlDocUniquePtr pXmlSettings = parseExport("word/settings.xml");
|
||||
CPPUNIT_ASSERT(pXmlHeader1);
|
||||
CPPUNIT_ASSERT(pXmlSettings);
|
||||
|
||||
// Without the accompanying fix in place, this test would have failed with:
|
||||
// - Expected: "left"
|
||||
// - Actual : "right"
|
||||
assertXPathContent(pXmlHeader1, "/w:hdr/w:p/w:r/w:t"_ostr, "left");
|
||||
|
||||
// Make sure "left" appears as a hidden header
|
||||
assertXPath(pXmlSettings, "/w:settings/w:evenAndOddHeaders"_ostr, 0);
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTdf148671, "tdf148671.docx")
|
||||
{
|
||||
// Don't assert with 'pFieldMark' failed when document is opened
|
||||
|
|
|
@ -712,20 +712,6 @@ DECLARE_OOXMLEXPORT_TEST(testFdo65265, "fdo65265.docx")
|
|||
CPPUNIT_ASSERT_EQUAL(OUString("Format"), getProperty<OUString>(getRun(xParagraph2, 2), "RedlineType"));
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testFdo65655, "fdo65655.docx")
|
||||
{
|
||||
// The problem was that the DOCX had a non-blank odd footer and a blank even footer
|
||||
// The 'Different Odd & Even Pages' was turned on
|
||||
// However - LO assumed that because the 'even' footer is blank - it should ignore the 'Different Odd & Even Pages' flag
|
||||
// So it did not import it and did not export it
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY);
|
||||
bool bValue = false;
|
||||
xPropertySet->getPropertyValue("HeaderIsShared") >>= bValue;
|
||||
CPPUNIT_ASSERT_EQUAL(false, bValue);
|
||||
xPropertySet->getPropertyValue("FooterIsShared") >>= bValue;
|
||||
CPPUNIT_ASSERT_EQUAL(false, bValue);
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testFDO63053, "fdo63053.docx")
|
||||
{
|
||||
uno::Reference<document::XDocumentPropertiesSupplier> xDocumentPropertiesSupplier(mxComponent, uno::UNO_QUERY);
|
||||
|
@ -813,46 +799,6 @@ DECLARE_OOXMLEXPORT_TEST(testFdo43093, "fdo43093.docx")
|
|||
CPPUNIT_ASSERT_EQUAL(text::WritingMode2::LR_TB, nLRDir);
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testFdo64238_a, "fdo64238_a.docx")
|
||||
{
|
||||
// The problem was that when 'Show Only Odd Footer' was marked in Word and the Even footer *was filled*
|
||||
// then LO would still import the Even footer and concatenate it to the odd footer.
|
||||
// This case specifically is for :
|
||||
// 'Blank Odd Footer' with 'Non-Blank Even Footer' when 'Show Only Odd Footer' is marked in Word
|
||||
// In this case the imported footer in LO was supposed to be blank, but instead was the 'even' footer
|
||||
uno::Reference<text::XText> xFooterText = getProperty< uno::Reference<text::XText> >(getStyles("PageStyles")->getByName("Standard"), "FooterText");
|
||||
uno::Reference< text::XTextRange > xFooterParagraph = getParagraphOfText( 1, xFooterText );
|
||||
uno::Reference<container::XEnumerationAccess> xRunEnumAccess(xFooterParagraph, uno::UNO_QUERY);
|
||||
uno::Reference<container::XEnumeration> xRunEnum = xRunEnumAccess->createEnumeration();
|
||||
sal_Int32 numOfRuns = 0;
|
||||
while (xRunEnum->hasMoreElements())
|
||||
{
|
||||
xRunEnum->nextElement();
|
||||
numOfRuns++;
|
||||
}
|
||||
CPPUNIT_ASSERT_EQUAL(sal_Int32(2), numOfRuns);
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testFdo64238_b, "fdo64238_b.docx")
|
||||
{
|
||||
// The problem was that when 'Show Only Odd Footer' was marked in Word and the Even footer *was filled*
|
||||
// then LO would still import the Even footer and concatenate it to the odd footer.
|
||||
// This case specifically is for :
|
||||
// 'Non-Blank Odd Footer' with 'Non-Blank Even Footer' when 'Show Only Odd Footer' is marked in Word
|
||||
// In this case the imported footer in LO was supposed to be just the odd footer, but instead was the 'odd' and 'even' footers concatenated
|
||||
uno::Reference<text::XText> xFooterText = getProperty< uno::Reference<text::XText> >(getStyles("PageStyles")->getByName("Standard"), "FooterText");
|
||||
uno::Reference< text::XTextRange > xFooterParagraph = getParagraphOfText( 1, xFooterText );
|
||||
uno::Reference<container::XEnumerationAccess> xRunEnumAccess(xFooterParagraph, uno::UNO_QUERY);
|
||||
uno::Reference<container::XEnumeration> xRunEnum = xRunEnumAccess->createEnumeration();
|
||||
sal_Int32 numOfRuns = 0;
|
||||
while (xRunEnum->hasMoreElements())
|
||||
{
|
||||
xRunEnum->nextElement();
|
||||
numOfRuns++;
|
||||
}
|
||||
CPPUNIT_ASSERT_EQUAL(sal_Int32(5), numOfRuns);
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testFdo56679, "fdo56679.docx")
|
||||
{
|
||||
// The problem was that the DOCX importer and exporter did not handle the 'color' of an underline
|
||||
|
@ -989,19 +935,6 @@ CPPUNIT_TEST_FIXTURE(Test, testPageBorderSpacingExportCase2)
|
|||
assertXPath(pXmlDoc, "/w:document/w:body/w:sectPr/w:pgBorders/w:right"_ostr, "space"_ostr, "24");
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testFdo66145, "fdo66145.docx")
|
||||
{
|
||||
// The Writer ignored the 'First Is Shared' flag
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("This is the FIRST page header."),
|
||||
parseDump("/root/page[1]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
OUString("This is the header for the REST OF THE FILE."),
|
||||
parseDump("/root/page[2]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
OUString("This is the header for the REST OF THE FILE."),
|
||||
parseDump("/root/page[3]/header/txt/text()"_ostr));
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testGrabBag)
|
||||
{
|
||||
loadAndSave("grabbag.docx");
|
||||
|
|
|
@ -152,20 +152,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf104539)
|
|||
"dir"_ostr, "13500000");
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTdf57155, "tdf57155.docx")
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(2, getPages());
|
||||
// Without the fix in place, the image in the header of page 2 wouldn't exist
|
||||
CPPUNIT_ASSERT_EQUAL(4, getShapes());
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTdf129582, "tdf129582.docx")
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(2, getPages());
|
||||
// Without the fix in place, the image in the footer of page 2 wouldn't exist
|
||||
CPPUNIT_ASSERT_EQUAL(2, getShapes());
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testShapeEffectPreservation)
|
||||
{
|
||||
loadAndSave("shape-effect-preservation.docx");
|
||||
|
|
|
@ -63,24 +63,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf48569)
|
|||
CPPUNIT_ASSERT_EQUAL(text::TextContentAnchorType_AS_CHARACTER, eValue);
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testN750935, "n750935.docx")
|
||||
{
|
||||
// Some page break types were ignores, resulting in less pages.
|
||||
CPPUNIT_ASSERT_EQUAL(5, getPages());
|
||||
|
||||
/*
|
||||
* The problem was that the header and footer was not shared.
|
||||
*
|
||||
* xray ThisComponent.StyleFamilies.PageStyles.Default.FooterIsShared
|
||||
*/
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY);
|
||||
bool bValue = false;
|
||||
xPropertySet->getPropertyValue("HeaderIsShared") >>= bValue;
|
||||
CPPUNIT_ASSERT_EQUAL(true, bValue);
|
||||
xPropertySet->getPropertyValue("FooterIsShared") >>= bValue;
|
||||
CPPUNIT_ASSERT_EQUAL(true, bValue);
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testN751117, "n751117.docx")
|
||||
{
|
||||
// First shape: the end should be an arrow, should be rotated and should be flipped.
|
||||
|
|
|
@ -591,105 +591,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf98700_keepWithNext)
|
|||
CPPUNIT_ASSERT_EQUAL(OUString("Text body"), getProperty<OUString>(properties, "FollowStyle"));
|
||||
}
|
||||
|
||||
// base class to supply a helper method for testHFLinkToPrev
|
||||
class testHFBase : public Test
|
||||
{
|
||||
protected:
|
||||
OUString
|
||||
getHFText(const uno::Reference<style::XStyle>& xPageStyle,
|
||||
const OUString &sPropName)
|
||||
{
|
||||
auto xTextRange = getProperty< uno::Reference<text::XTextRange> >(
|
||||
xPageStyle, sPropName);
|
||||
return xTextRange->getString();
|
||||
}
|
||||
};
|
||||
|
||||
DECLARE_SW_EXPORT_TEST(testHFLinkToPrev, "headerfooter-link-to-prev.docx", nullptr, testHFBase)
|
||||
{
|
||||
uno::Reference<container::XNameAccess> xPageStyles = getStyles("PageStyles");
|
||||
|
||||
// get a page cursor
|
||||
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);
|
||||
|
||||
// get LO page style for page 1, corresponding to docx section 1 first page
|
||||
xCursor->jumpToFirstPage();
|
||||
OUString pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
uno::Reference<style::XStyle> xPageStyle(
|
||||
xPageStyles->getByName(pageStyleName), uno::UNO_QUERY);
|
||||
// check page 1 header & footer text
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header for all sections"),
|
||||
getHFText(xPageStyle, "HeaderTextFirst"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer for section 1 only"),
|
||||
getHFText(xPageStyle, "FooterTextFirst"));
|
||||
|
||||
// get LO page style for page 2, corresponding to docx section 1
|
||||
xCursor->jumpToPage(2);
|
||||
pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
xPageStyle.set( xPageStyles->getByName(pageStyleName), uno::UNO_QUERY );
|
||||
// check header & footer text
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header for section 1 only"),
|
||||
getHFText(xPageStyle, "HeaderTextLeft"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer for all sections"),
|
||||
getHFText(xPageStyle, "FooterTextLeft"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header for all sections"),
|
||||
getHFText(xPageStyle, "HeaderText"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer for section 1 only"),
|
||||
getHFText(xPageStyle, "FooterText"));
|
||||
|
||||
// get LO page style for page 4, corresponding to docx section 2 first page
|
||||
xCursor->jumpToPage(4);
|
||||
pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
xPageStyle.set( xPageStyles->getByName(pageStyleName), uno::UNO_QUERY );
|
||||
// check header & footer text
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header for all sections"),
|
||||
getHFText(xPageStyle, "HeaderTextFirst"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer for sections 2 and 3 only"),
|
||||
getHFText(xPageStyle, "FooterTextFirst"));
|
||||
|
||||
// get LO page style for page 5, corresponding to docx section 2
|
||||
xCursor->jumpToPage(5);
|
||||
pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
xPageStyle.set( xPageStyles->getByName(pageStyleName), uno::UNO_QUERY );
|
||||
// check header & footer text
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header for sections 2 and 3 only"),
|
||||
getHFText(xPageStyle, "HeaderTextLeft"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer for all sections"),
|
||||
getHFText(xPageStyle, "FooterTextLeft"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header for all sections"),
|
||||
getHFText(xPageStyle, "HeaderText"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer for sections 2 and 3 only"),
|
||||
getHFText(xPageStyle, "FooterText"));
|
||||
|
||||
// get LO page style for page 7, corresponding to docx section 3 first page
|
||||
xCursor->jumpToPage(7);
|
||||
pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
xPageStyle.set( xPageStyles->getByName(pageStyleName), uno::UNO_QUERY );
|
||||
// check header & footer text
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header for all sections"),
|
||||
getHFText(xPageStyle, "HeaderTextFirst"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer for sections 2 and 3 only"),
|
||||
getHFText(xPageStyle, "FooterTextFirst"));
|
||||
|
||||
// get LO page style for page 8, corresponding to docx section 3
|
||||
xCursor->jumpToPage(8);
|
||||
pageStyleName = getProperty<OUString>(xCursor, "PageStyleName");
|
||||
xPageStyle.set( xPageStyles->getByName(pageStyleName), uno::UNO_QUERY );
|
||||
// check header & footer text
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header for sections 2 and 3 only"),
|
||||
getHFText(xPageStyle, "HeaderTextLeft"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer for all sections"),
|
||||
getHFText(xPageStyle, "FooterTextLeft"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header for all sections"),
|
||||
getHFText(xPageStyle, "HeaderText"));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer for sections 2 and 3 only"),
|
||||
getHFText(xPageStyle, "FooterText"));
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testRhbz988516, "rhbz988516.docx")
|
||||
{
|
||||
// The problem was that the list properties of the footer leaked into body
|
||||
|
@ -845,34 +746,6 @@ DECLARE_OOXMLEXPORT_TEST(testTdf106132, "tdf106132.docx")
|
|||
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0), getProperty<sal_Int32>(xShape, "TextRightDistance"));
|
||||
}
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testBnc519228OddBreaks, "bnc519228_odd-breaksB.docx")
|
||||
{
|
||||
// Check that all the normal styles are not set as right-only, those should be only those used after odd page breaks.
|
||||
uno::Reference<beans::XPropertySet> defaultStyle(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(uno::Any(style::PageStyleLayout_ALL), defaultStyle->getPropertyValue("PageStyleLayout"));
|
||||
uno::Reference<beans::XPropertySet> firstPage( getStyles("PageStyles")->getByName("First Page"), uno::UNO_QUERY );
|
||||
CPPUNIT_ASSERT_EQUAL(uno::Any(style::PageStyleLayout_ALL), firstPage->getPropertyValue("PageStyleLayout"));
|
||||
|
||||
OUString page1StyleName = getProperty<OUString>( getParagraph( 1, "This is the first page." ), "PageDescName");
|
||||
uno::Reference<beans::XPropertySet> page1Style(getStyles("PageStyles")->getByName(page1StyleName), uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(uno::Any(style::PageStyleLayout_RIGHT), page1Style->getPropertyValue("PageStyleLayout"));
|
||||
getParagraphOfText( 1, getProperty< uno::Reference<text::XText> >(page1Style, "HeaderText"), "This is the header for odd pages");
|
||||
|
||||
// Page2 comes from follow of style for page 1 and should be a normal page. Also check the two page style have the same properties,
|
||||
// since page style for page1 was created from page style for page 2.
|
||||
OUString page2StyleName = getProperty<OUString>( page1Style, "FollowStyle" );
|
||||
uno::Reference<beans::XPropertySet> page2Style(getStyles("PageStyles")->getByName(page2StyleName), uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(uno::Any(style::PageStyleLayout_ALL), page2Style->getPropertyValue("PageStyleLayout"));
|
||||
getParagraphOfText( 1, getProperty< uno::Reference<text::XText> >(page2Style, "HeaderTextLeft"), "This is the even header");
|
||||
getParagraphOfText( 1, getProperty< uno::Reference<text::XText> >(page2Style, "HeaderTextRight"), "This is the header for odd pages");
|
||||
CPPUNIT_ASSERT_EQUAL(getProperty<sal_Int32>(page1Style, "TopMargin"), getProperty<sal_Int32>(page2Style, "TopMargin"));
|
||||
|
||||
OUString page5StyleName = getProperty<OUString>( getParagraph( 4, "Then an odd break after an odd page, should lead us to page #5." ), "PageDescName");
|
||||
uno::Reference<beans::XPropertySet> page5Style(getStyles("PageStyles")->getByName(page5StyleName), uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(uno::Any(style::PageStyleLayout_RIGHT), page5Style->getPropertyValue("PageStyleLayout"));
|
||||
getParagraphOfText( 1, getProperty< uno::Reference<text::XText> >(page5Style, "HeaderText"), "This is the header for odd pages");
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf79329)
|
||||
{
|
||||
auto verify = [this]() {
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -48,10 +48,6 @@
|
|||
class Test : public SwModelTestBase
|
||||
{
|
||||
public:
|
||||
void checkFirstLeftRightHeaderPageStyles();
|
||||
void checkFirstRestHeaderPageStyles();
|
||||
void checkLeftRightHeaderPageStyles();
|
||||
|
||||
Test()
|
||||
: SwModelTestBase("/sw/qa/extras/ooxmlimport/data/", "Office Open XML Text")
|
||||
{
|
||||
|
@ -530,18 +526,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf43017)
|
|||
getProperty<sal_Int32>(xText, "CharColor"));
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf127778)
|
||||
{
|
||||
createSwDoc("tdf127778.docx");
|
||||
xmlDocUniquePtr pLayout = parseLayoutDump();
|
||||
// Without the accompanying fix in place, this test would have failed with:
|
||||
// equality assertion failed
|
||||
// - Expected: 0
|
||||
// - Actual : 1
|
||||
// i.e. the 2nd page had an unexpected header.
|
||||
assertXPath(pLayout, "//page[2]/header"_ostr, 0);
|
||||
}
|
||||
|
||||
// related tdf#43017
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf124754)
|
||||
{
|
||||
|
@ -1204,216 +1188,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf141969)
|
|||
CPPUNIT_ASSERT_EQUAL(8.0f, getProperty<float>(xRun, "CharHeight"));
|
||||
}
|
||||
|
||||
void Test::checkFirstLeftRightHeaderPageStyles()
|
||||
{
|
||||
// Page 1
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(1), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Para 1"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
|
||||
// Page 2
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(2), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Para 2"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
|
||||
// Page 3
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(3), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Para 3"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
}
|
||||
|
||||
void Test::checkFirstRestHeaderPageStyles()
|
||||
{
|
||||
// Page 1
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(1), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("P1"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
|
||||
// Page 2
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(2), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("P2"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
|
||||
// Page 3
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(3), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("P3"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
|
||||
// Check Default Style
|
||||
{
|
||||
uno::Reference<beans::XPropertySet> xPageStyle(
|
||||
getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY);
|
||||
|
||||
bool bHeader = getProperty<bool>(xPageStyle, "HeaderIsOn");
|
||||
CPPUNIT_ASSERT_EQUAL(true, bHeader);
|
||||
|
||||
bool bHeaderIsShared = getProperty<bool>(xPageStyle, "HeaderIsShared");
|
||||
CPPUNIT_ASSERT_EQUAL(true, bHeaderIsShared);
|
||||
|
||||
bool bFirstIsShared = getProperty<bool>(xPageStyle, "FirstIsShared");
|
||||
CPPUNIT_ASSERT_EQUAL(false, bFirstIsShared);
|
||||
|
||||
auto xHeaderTextLeft
|
||||
= getProperty<uno::Reference<text::XText>>(xPageStyle, "HeaderTextFirst");
|
||||
//CPPUNIT_ASSERT_EQUAL(OUString("FIRST"), xHeaderTextLeft->getString());
|
||||
|
||||
auto xHeaderTextRight = getProperty<uno::Reference<text::XText>>(xPageStyle, "HeaderText");
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("NON-FIRST"), xHeaderTextRight->getString());
|
||||
}
|
||||
}
|
||||
|
||||
void Test::checkLeftRightHeaderPageStyles()
|
||||
{
|
||||
// Page 1
|
||||
{
|
||||
OUString aPageStyleName;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(1), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("P1"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= aPageStyleName;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), aPageStyleName);
|
||||
}
|
||||
|
||||
// Page 2
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(2), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("P2"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
|
||||
// Page 3
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(3), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("P3"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
|
||||
// Page 3
|
||||
{
|
||||
OUString pageStyle;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(getParagraphOrTable(4), uno::UNO_QUERY);
|
||||
|
||||
uno::Reference<text::XTextRange> xTextRange(xPropertySet, uno::UNO_QUERY);
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("P4"), xTextRange->getString());
|
||||
|
||||
xPropertySet->getPropertyValue("PageStyleName") >>= pageStyle;
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Standard"), pageStyle);
|
||||
}
|
||||
|
||||
// Check Default Style
|
||||
{
|
||||
uno::Reference<beans::XPropertySet> xPageStyle(
|
||||
getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY);
|
||||
|
||||
bool bHeader = getProperty<bool>(xPageStyle, "HeaderIsOn");
|
||||
CPPUNIT_ASSERT_EQUAL(true, bHeader);
|
||||
|
||||
bool bHeaderIsShared = getProperty<bool>(xPageStyle, "HeaderIsShared");
|
||||
CPPUNIT_ASSERT_EQUAL(false, bHeaderIsShared);
|
||||
|
||||
bool bFirstIsShared = getProperty<bool>(xPageStyle, "FirstIsShared");
|
||||
CPPUNIT_ASSERT_EQUAL(true, bFirstIsShared);
|
||||
|
||||
auto xHeaderTextLeft
|
||||
= getProperty<uno::Reference<text::XText>>(xPageStyle, "HeaderTextLeft");
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("LEFT"), xHeaderTextLeft->getString());
|
||||
|
||||
auto xHeaderTextRight
|
||||
= getProperty<uno::Reference<text::XText>>(xPageStyle, "HeaderTextRight");
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("RIGHT"), xHeaderTextRight->getString());
|
||||
}
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testFirstLeftRightHeaderPageStyles_ODF)
|
||||
{
|
||||
createSwDoc("SimpleFirstLeftRight.odt");
|
||||
checkFirstLeftRightHeaderPageStyles();
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testFirstLeftRightHeaderPageStyles_OOXML)
|
||||
{
|
||||
//createSwDoc("SimpleFirstLeftRight.docx");
|
||||
//checkFirstLeftRightHeaderPageStyles();
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testFirstRestHeaderPageStyles_ODF)
|
||||
{
|
||||
createSwDoc("SimpleFirst.odt");
|
||||
checkFirstRestHeaderPageStyles();
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testFirstRestHeaderPageStyles_OOXML)
|
||||
{
|
||||
//createSwDoc("SimpleFirst.docx");
|
||||
//checkFirstRestHeaderPageStyles();
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testLeftRightHeaderPageStyles_ODF)
|
||||
{
|
||||
createSwDoc("SimpleLeftRight.odt");
|
||||
checkLeftRightHeaderPageStyles();
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testLeftRightHeaderPageStyles_OOXML)
|
||||
{
|
||||
//createSwDoc("SimpleLeftRight.docx");
|
||||
//checkLeftRightHeaderPageStyles();
|
||||
}
|
||||
|
||||
// tests should only be added to ooxmlIMPORT *if* they fail round-tripping in ooxmlEXPORT
|
||||
|
||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||
|
|
|
@ -888,26 +888,6 @@ CPPUNIT_TEST_FIXTURE(Test, testFdo46020)
|
|||
CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xFootnotes->getCount());
|
||||
}
|
||||
|
||||
DECLARE_WW8EXPORT_TEST(testFirstHeaderFooter, "first-header-footer.doc")
|
||||
{
|
||||
// Test import and export of a section's headerf/footerf properties.
|
||||
|
||||
// The document has 6 pages. Note that we don't test if 4 or just 2 page
|
||||
// styles are created, the point is that layout should be correct.
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header"), parseDump("/root/page[1]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer"), parseDump("/root/page[1]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header"), parseDump("/root/page[2]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer"), parseDump("/root/page[2]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header"), parseDump("/root/page[3]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer"), parseDump("/root/page[3]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page header2"), parseDump("/root/page[4]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("First page footer 2"), parseDump("/root/page[4]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page header 2"), parseDump("/root/page[5]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Odd page footer 2"), parseDump("/root/page[5]/footer/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page header 2"), parseDump("/root/page[6]/header/txt/text()"_ostr));
|
||||
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer 2"), parseDump("/root/page[6]/footer/txt/text()"_ostr));
|
||||
}
|
||||
|
||||
DECLARE_WW8EXPORT_TEST(testZoom, "zoom.doc")
|
||||
{
|
||||
uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
|
||||
|
|
Loading…
Reference in a new issue