From 7dcb4fef3b2383f4dd4d5d5c9ebbe8f19f8f4c8e Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Thu, 30 Nov 2017 16:33:03 +0100 Subject: EPUB export: support image popup for images and text Handle relative links on image / text as data for a popup. Pick the images up from // as a start. Change-Id: I9b6183d554e3792aa71dfffc19a671a0e4c302cc Reviewed-on: https://gerrit.libreoffice.org/45601 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- writerperfect/qa/unit/EPUBExportTest.cxx | 22 +++++++++++++++++++++ .../qa/unit/data/writer/epubexport/popup.odt | Bin 0 -> 10103 bytes .../data/writer/epubexport/popup/libreoffice.png | Bin 0 -> 766 bytes 3 files changed, 22 insertions(+) create mode 100644 writerperfect/qa/unit/data/writer/epubexport/popup.odt create mode 100644 writerperfect/qa/unit/data/writer/epubexport/popup/libreoffice.png (limited to 'writerperfect/qa/unit') diff --git a/writerperfect/qa/unit/EPUBExportTest.cxx b/writerperfect/qa/unit/EPUBExportTest.cxx index 04df33257b6d..1f7b64250724 100644 --- a/writerperfect/qa/unit/EPUBExportTest.cxx +++ b/writerperfect/qa/unit/EPUBExportTest.cxx @@ -89,6 +89,7 @@ public: void testFontEmbedding(); void testImageLink(); void testFootnote(); + void testPopup(); CPPUNIT_TEST_SUITE(EPUBExportTest); CPPUNIT_TEST(testOutlineLevel); @@ -126,6 +127,7 @@ public: CPPUNIT_TEST(testFontEmbedding); CPPUNIT_TEST(testImageLink); CPPUNIT_TEST(testFootnote); + CPPUNIT_TEST(testPopup); CPPUNIT_TEST_SUITE_END(); }; @@ -702,6 +704,26 @@ void EPUBExportTest::testFootnote() assertXPath(mpXmlDoc, "//xhtml:body/xhtml:aside", "type", "footnote"); } +void EPUBExportTest::testPopup() +{ + createDoc("popup.odt", {}); + + mpXmlDoc = parseExport("OEBPS/sections/section0001.xhtml"); + // Test image popup anchor. + assertXPath(mpXmlDoc, "//xhtml:body/xhtml:p[1]/xhtml:a", "type", "noteref"); + assertXPath(mpXmlDoc, "//xhtml:body/xhtml:p[1]/xhtml:a/xhtml:img", 1); + // Test image popup content. + assertXPath(mpXmlDoc, "//xhtml:body/xhtml:aside[1]", "type", "footnote"); + assertXPath(mpXmlDoc, "//xhtml:body/xhtml:aside[1]/xhtml:img", 1); + + // Test text popup anchor. + assertXPath(mpXmlDoc, "//xhtml:body/xhtml:p[2]/xhtml:span/xhtml:a", "type", "noteref"); + assertXPathContent(mpXmlDoc, "//xhtml:body/xhtml:p[2]/xhtml:span/xhtml:a", "link"); + // Test text popup content. + assertXPath(mpXmlDoc, "//xhtml:body/xhtml:aside[2]", "type", "footnote"); + assertXPath(mpXmlDoc, "//xhtml:body/xhtml:aside[2]/xhtml:img", 1); +} + CPPUNIT_TEST_SUITE_REGISTRATION(EPUBExportTest); } diff --git a/writerperfect/qa/unit/data/writer/epubexport/popup.odt b/writerperfect/qa/unit/data/writer/epubexport/popup.odt new file mode 100644 index 000000000000..30f4cc8f526e Binary files /dev/null and b/writerperfect/qa/unit/data/writer/epubexport/popup.odt differ diff --git a/writerperfect/qa/unit/data/writer/epubexport/popup/libreoffice.png b/writerperfect/qa/unit/data/writer/epubexport/popup/libreoffice.png new file mode 100644 index 000000000000..fdad35484e7c Binary files /dev/null and b/writerperfect/qa/unit/data/writer/epubexport/popup/libreoffice.png differ -- cgit