From 4c131bd42f52e394b4c6220a3af179cb4539bf40 Mon Sep 17 00:00:00 2001 From: Vincent Hennebert Date: Fri, 14 Mar 2014 10:44:23 +0000 Subject: FOP-2357: When an SVG image has transparency and a PDF profile is used that disallows it, ignore it and issue a warning rather than throw an error git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1577477 13f79535-47bb-0310-9956-ffa450edef68 --- test/java/org/apache/fop/events/EventChecker.java | 8 ++++---- .../apache/fop/render/pdf/PDFAConformanceTestCase.java | 18 ++++++++++++++++++ .../org/apache/fop/svg/PDFTextPainterTestCase.java | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) (limited to 'test/java') diff --git a/test/java/org/apache/fop/events/EventChecker.java b/test/java/org/apache/fop/events/EventChecker.java index 3f0eef6bb..506658467 100644 --- a/test/java/org/apache/fop/events/EventChecker.java +++ b/test/java/org/apache/fop/events/EventChecker.java @@ -27,7 +27,7 @@ import static org.junit.Assert.fail; /** * Class that checks that an expected event is produced, and only this one. */ -class EventChecker implements EventListener { +public class EventChecker implements EventListener { private final String expectedEventID; @@ -35,7 +35,7 @@ class EventChecker implements EventListener { private boolean eventReceived; - EventChecker(String expectedEventID, Map expectedParams) { + public EventChecker(String expectedEventID, Map expectedParams) { this.expectedEventID = expectedEventID; this.expectedParams = expectedParams; } @@ -51,9 +51,9 @@ class EventChecker implements EventListener { } } - void end() { + public void end() { if (!eventReceived) { - fail("Did not received expected event: " + expectedEventID); + fail("Did not receive expected event: " + expectedEventID); } } } diff --git a/test/java/org/apache/fop/render/pdf/PDFAConformanceTestCase.java b/test/java/org/apache/fop/render/pdf/PDFAConformanceTestCase.java index 6aad0320e..b2b77e842 100644 --- a/test/java/org/apache/fop/render/pdf/PDFAConformanceTestCase.java +++ b/test/java/org/apache/fop/render/pdf/PDFAConformanceTestCase.java @@ -21,6 +21,8 @@ package org.apache.fop.render.pdf; import java.io.File; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import org.junit.Test; import org.xml.sax.SAXException; @@ -28,7 +30,10 @@ import org.xml.sax.SAXException; import static org.junit.Assert.fail; import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.events.EventChecker; +import org.apache.fop.pdf.PDFAMode; import org.apache.fop.pdf.PDFConformanceException; +import org.apache.fop.svg.SVGEventProducer; /** * Tests PDF/A-1 functionality. @@ -108,4 +113,17 @@ public class PDFAConformanceTestCase extends BasePDFTest { } } + @Test + public void svgTransparency() throws Exception { + Map params = new HashMap(); + params.put("pdfProfile", PDFAMode.PDFA_1B); + EventChecker eventChecker = new EventChecker(SVGEventProducer.class.getName() + + ".transparencyIgnored", params); + FOUserAgent ua = getUserAgent(); + ua.getEventBroadcaster().addEventListener(eventChecker); + File foFile = new File(foBaseDir, "svg-transparency.fo"); + convertFO(foFile, ua, dumpPDF); + eventChecker.end(); + } + } diff --git a/test/java/org/apache/fop/svg/PDFTextPainterTestCase.java b/test/java/org/apache/fop/svg/PDFTextPainterTestCase.java index efef464bd..e7e47e7ba 100644 --- a/test/java/org/apache/fop/svg/PDFTextPainterTestCase.java +++ b/test/java/org/apache/fop/svg/PDFTextPainterTestCase.java @@ -36,7 +36,7 @@ public class PDFTextPainterTestCase extends NativeTextPainterTest { private static class OperatorCheckingPDFGraphics2D extends PDFGraphics2D { OperatorCheckingPDFGraphics2D(FontInfo fontInfo, final OperatorValidator validator) { - super(false, fontInfo, new PDFDocument("test"), null, null, null, 0); + super(false, fontInfo, new PDFDocument("test"), null, null, null, 0, null); this.currentStream = new StringWriter() { @Override -- cgit v1.2.3