summaryrefslogtreecommitdiff
path: root/writerperfect/qa
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-11-30 08:48:06 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-11-30 15:35:44 +0100
commit1a48cdaf91633b354fb1110c566c766a4398fba0 (patch)
tree18973dc147cfd3f2d8276341593dca00c60e2723 /writerperfect/qa
parent56d79a2d046f08e703ed6498b7c8d15abe057d3a (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.cxx15
-rw-r--r--writerperfect/qa/unit/data/writer/epubexport/meta-xmp.fodt8
-rw-r--r--writerperfect/qa/unit/data/writer/epubexport/meta-xmp.xmp28
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>