diff options
author | Luke Deller <luke@deller.id.au> | 2017-07-12 23:56:50 +1000 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2018-03-02 18:24:57 +0100 |
commit | aa54ca7953ea2f2d1a93267729331dcddd8a1798 (patch) | |
tree | b2deab8cd08cbad6f25a53335c395a5077eca82d | |
parent | 7b34f8ba4efff6201eb1e676512ab649ca9d38c7 (diff) |
tdf#109080 First page header/footer ODF (1/2)
The proposal to add <style:header-first> / <style:footer-first>
to the ODF standard has not yet been accepted, so meanwhile we
should be using an extension namespace for these elements.
This first commit (intended for backport) adds support for reading
<loext:header-first> / <loext:footer-first>
Change-Id: I616b6a0acaead9d767ae7d119e539b865f3a6774
(cherry picked from commit bff8cd3d52223002263dcb8c09758c4fc753b6e3)
Reviewed-on: https://gerrit.libreoffice.org/40227
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit c027764f94a1fc0a367e03b412d3c11d6c10769c)
-rw-r--r-- | sw/qa/extras/odfimport/data/tdf109080_loext_ns.odt | bin | 0 -> 9217 bytes | |||
-rw-r--r-- | sw/qa/extras/odfimport/data/tdf109080_style_ns.odt | bin | 0 -> 9219 bytes | |||
-rw-r--r-- | sw/qa/extras/odfimport/odfimport.cxx | 31 | ||||
-rw-r--r-- | xmloff/source/text/txtimp.cxx | 2 |
4 files changed, 33 insertions, 0 deletions
diff --git a/sw/qa/extras/odfimport/data/tdf109080_loext_ns.odt b/sw/qa/extras/odfimport/data/tdf109080_loext_ns.odt Binary files differnew file mode 100644 index 000000000000..ac7b3e272acc --- /dev/null +++ b/sw/qa/extras/odfimport/data/tdf109080_loext_ns.odt diff --git a/sw/qa/extras/odfimport/data/tdf109080_style_ns.odt b/sw/qa/extras/odfimport/data/tdf109080_style_ns.odt Binary files differnew file mode 100644 index 000000000000..ada290dc5fe1 --- /dev/null +++ b/sw/qa/extras/odfimport/data/tdf109080_style_ns.odt diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index 5c60935174b2..3307d793f27d 100644 --- a/sw/qa/extras/odfimport/odfimport.cxx +++ b/sw/qa/extras/odfimport/odfimport.cxx @@ -621,5 +621,36 @@ DECLARE_ODFIMPORT_TEST(testTdf96113, "tdf96113.odt") #endif +DECLARE_ODFIMPORT_TEST(testTdf109080_loext_ns, "tdf109080_loext_ns.odt") +{ + // Test we can import <loext:header-first> and <loext:footer-first> + + CPPUNIT_ASSERT_EQUAL(OUString("This is the first page header"), + parseDump("/root/page[1]/header/txt/text()")); + CPPUNIT_ASSERT_EQUAL(OUString("This is the non-first-page header"), + parseDump("/root/page[2]/header/txt/text()")); + + CPPUNIT_ASSERT_EQUAL(OUString("This is the first page footer"), + parseDump("/root/page[1]/footer/txt/text()")); + CPPUNIT_ASSERT_EQUAL(OUString("This is the non-first-page footer"), + parseDump("/root/page[2]/footer/txt/text()")); +} + +DECLARE_ODFIMPORT_TEST(testTdf109080_style_ns, "tdf109080_style_ns.odt") +{ + // Test we can import <style:header-first> and <style:footer-first> + // (produced by LibreOffice 4.0 - 5.x) + + CPPUNIT_ASSERT_EQUAL(OUString("This is the first page header"), + parseDump("/root/page[1]/header/txt/text()")); + CPPUNIT_ASSERT_EQUAL(OUString("This is the non-first-page header"), + parseDump("/root/page[2]/header/txt/text()")); + + CPPUNIT_ASSERT_EQUAL(OUString("This is the first page footer"), + parseDump("/root/page[1]/footer/txt/text()")); + CPPUNIT_ASSERT_EQUAL(OUString("This is the non-first-page footer"), + parseDump("/root/page[2]/footer/txt/text()")); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx index eb87ec39cdc8..97bfa7ad1f0b 100644 --- a/xmloff/source/text/txtimp.cxx +++ b/xmloff/source/text/txtimp.cxx @@ -408,6 +408,8 @@ static const SvXMLTokenMapEntry aTextMasterPageElemTokenMap[] = { XML_NAMESPACE_STYLE, XML_FOOTER, XML_TOK_TEXT_MP_FOOTER }, { XML_NAMESPACE_STYLE, XML_HEADER_LEFT, XML_TOK_TEXT_MP_HEADER_LEFT }, { XML_NAMESPACE_STYLE, XML_FOOTER_LEFT, XML_TOK_TEXT_MP_FOOTER_LEFT }, + { XML_NAMESPACE_LO_EXT, XML_HEADER_FIRST, XML_TOK_TEXT_MP_HEADER_FIRST }, + { XML_NAMESPACE_LO_EXT, XML_FOOTER_FIRST, XML_TOK_TEXT_MP_FOOTER_FIRST }, { XML_NAMESPACE_STYLE, XML_HEADER_FIRST, XML_TOK_TEXT_MP_HEADER_FIRST }, { XML_NAMESPACE_STYLE, XML_FOOTER_FIRST, XML_TOK_TEXT_MP_FOOTER_FIRST }, |