aboutsummaryrefslogtreecommitdiffstats
path: root/fop-core
diff options
context:
space:
mode:
Diffstat (limited to 'fop-core')
-rw-r--r--fop-core/src/main/java/org/apache/fop/afp/modca/InvokeMediumMap.java10
-rw-r--r--fop-core/src/test/java/org/apache/fop/afp/DataStreamTestCase.java16
2 files changed, 25 insertions, 1 deletions
diff --git a/fop-core/src/main/java/org/apache/fop/afp/modca/InvokeMediumMap.java b/fop-core/src/main/java/org/apache/fop/afp/modca/InvokeMediumMap.java
index 59d9253cf..483bf0a02 100644
--- a/fop-core/src/main/java/org/apache/fop/afp/modca/InvokeMediumMap.java
+++ b/fop-core/src/main/java/org/apache/fop/afp/modca/InvokeMediumMap.java
@@ -22,6 +22,7 @@ package org.apache.fop.afp.modca;
import java.io.IOException;
import java.io.OutputStream;
+import org.apache.fop.afp.Completable;
import org.apache.fop.afp.util.BinaryUtils;
/**
@@ -30,7 +31,7 @@ import org.apache.fop.afp.util.BinaryUtils;
* the document's current environment. The Medium Map's effect on current environment
* parameter values lasts until a new Medium Map is invoked.
*/
-public class InvokeMediumMap extends AbstractNamedAFPObject {
+public class InvokeMediumMap extends AbstractNamedAFPObject implements Completable {
/**
* Constructor for the Invoke Medium Map
@@ -54,4 +55,11 @@ public class InvokeMediumMap extends AbstractNamedAFPObject {
os.write(data);
}
+
+ public void setComplete(boolean complete) {
+ }
+
+ public boolean isComplete() {
+ return true;
+ }
}
diff --git a/fop-core/src/test/java/org/apache/fop/afp/DataStreamTestCase.java b/fop-core/src/test/java/org/apache/fop/afp/DataStreamTestCase.java
index 4c6eae921..702126989 100644
--- a/fop-core/src/test/java/org/apache/fop/afp/DataStreamTestCase.java
+++ b/fop-core/src/test/java/org/apache/fop/afp/DataStreamTestCase.java
@@ -108,4 +108,20 @@ public class DataStreamTestCase {
Assert.assertEquals((byte)data.read(), InvokeMediumMap.Type.MAP);
Assert.assertEquals((byte)data.read(), InvokeMediumMap.Category.MEDIUM_MAP);
}
+
+ @Test
+ public void testMediumMapBeforePageGroupOnDocument() throws Exception {
+ ds = new DataStream(new Factory(), paintState, outStream);
+ ds.startDocument();
+ ds.createInvokeMediumMap("test");
+ ds.startPageGroup();
+ ds.startPage(1, 1, 0, 1, 1);
+ ds.endPage();
+ ds.endPageGroup();
+ ds.endDocument();
+ ByteArrayInputStream data = new ByteArrayInputStream(outStream.toByteArray());
+ data.skip(21);
+ Assert.assertEquals((byte)data.read(), InvokeMediumMap.Type.MAP);
+ Assert.assertEquals((byte)data.read(), InvokeMediumMap.Category.MEDIUM_MAP);
+ }
}