diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-11-30 08:48:06 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-11-30 15:35:44 +0100 |
commit | 1a48cdaf91633b354fb1110c566c766a4398fba0 (patch) | |
tree | 18973dc147cfd3f2d8276341593dca00c60e2723 /writerperfect/qa | |
parent | 56d79a2d046f08e703ed6498b7c8d15abe057d3a (diff) |
EPUB export: allow overwriting of document metadata
Pick up overrides from <base directory>/<base name>.xmp as a start.
Change-Id: Ib64a6bbdadc53633fb1f0d4a7efdde2e3c96b5ef
Reviewed-on: https://gerrit.libreoffice.org/45551
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerperfect/qa')
-rw-r--r-- | writerperfect/qa/unit/EPUBExportTest.cxx | 15 | ||||
-rw-r--r-- | writerperfect/qa/unit/data/writer/epubexport/meta-xmp.fodt | 8 | ||||
-rw-r--r-- | writerperfect/qa/unit/data/writer/epubexport/meta-xmp.xmp | 28 |
3 files changed, 51 insertions, 0 deletions
diff --git a/writerperfect/qa/unit/EPUBExportTest.cxx b/writerperfect/qa/unit/EPUBExportTest.cxx index 72c9a27dc495..82452d958152 100644 --- a/writerperfect/qa/unit/EPUBExportTest.cxx +++ b/writerperfect/qa/unit/EPUBExportTest.cxx @@ -61,6 +61,7 @@ public: void testSpanAutostyle(); void testParaAutostyleCharProps(); void testMeta(); + void testMetaXMP(); void testCoverImage(); void testParaNamedstyle(); void testCharNamedstyle(); @@ -94,6 +95,7 @@ public: CPPUNIT_TEST(testSpanAutostyle); CPPUNIT_TEST(testParaAutostyleCharProps); CPPUNIT_TEST(testMeta); + CPPUNIT_TEST(testMetaXMP); CPPUNIT_TEST(testCoverImage); CPPUNIT_TEST(testParaNamedstyle); CPPUNIT_TEST(testCharNamedstyle); @@ -335,6 +337,19 @@ void EPUBExportTest::testMeta() CPPUNIT_ASSERT(mxZipFile->hasByName("OEBPS/images/image0001.png")); } +void EPUBExportTest::testMetaXMP() +{ + createDoc("meta-xmp.fodt", {}); + mpXmlDoc = parseExport("OEBPS/content.opf"); + + // These were the libepubgen default values, metadata from a matching .xmp file was not picked up. + assertXPathContent(mpXmlDoc, "/opf:package/opf:metadata/dc:identifier", "deadbeef-e394-4cd6-9b83-7172794612e5"); + assertXPathContent(mpXmlDoc, "/opf:package/opf:metadata/dc:title", "unknown title from xmp"); + assertXPathContent(mpXmlDoc, "/opf:package/opf:metadata/dc:creator", "unknown author from xmp"); + assertXPathContent(mpXmlDoc, "/opf:package/opf:metadata/dc:language", "nl"); + assertXPathContent(mpXmlDoc, "/opf:package/opf:metadata/opf:meta[@property='dcterms:modified']", "2016-11-20T17:16:07Z"); +} + void EPUBExportTest::testCoverImage() { OUString aCoverURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + "meta.cover-image.png"; diff --git a/writerperfect/qa/unit/data/writer/epubexport/meta-xmp.fodt b/writerperfect/qa/unit/data/writer/epubexport/meta-xmp.fodt new file mode 100644 index 000000000000..b245e9d7abce --- /dev/null +++ b/writerperfect/qa/unit/data/writer/epubexport/meta-xmp.fodt @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document office:mimetype="application/vnd.oasis.opendocument.text" office:version="1.2" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"> + <office:body> + <office:text> + <text:p><text:span>Hello world!</text:span></text:p> + </office:text> + </office:body> +</office:document> diff --git a/writerperfect/qa/unit/data/writer/epubexport/meta-xmp.xmp b/writerperfect/qa/unit/data/writer/epubexport/meta-xmp.xmp new file mode 100644 index 000000000000..aa578159cb89 --- /dev/null +++ b/writerperfect/qa/unit/data/writer/epubexport/meta-xmp.xmp @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x:xmpmeta xmlns:x="adobe:ns:meta/"> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> + <dc:identifier>deadbeef-e394-4cd6-9b83-7172794612e5</dc:identifier> + <dc:title> + <rdf:Alt> + <rdf:li>unknown title from xmp</rdf:li> + </rdf:Alt> + </dc:title> + <dc:creator> + <rdf:Seq> + <rdf:li>unknown author from xmp</rdf:li> + </rdf:Seq> + </dc:creator> + <dc:language> + <rdf:Bag> + <rdf:li>nl</rdf:li> + </rdf:Bag> + </dc:language> + <dc:date> + <rdf:Seq> + <rdf:li>2016-11-20T17:16:07Z</rdf:li> + </rdf:Seq> + </dc:date> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> |