You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/05/08 22:50:24 UTC
svn commit: r1593414 - in
/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image:
JPEGFactoryTest.java LosslessFactoryTest.java ValidateXImage.java
Author: tilman
Date: Thu May 8 20:50:24 2014
New Revision: 1593414
URL: http://svn.apache.org/r1593414
Log:
PDFBOX-2057, PDFBOX-2067: added test for the masks
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/ValidateXImage.java
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java?rev=1593414&r1=1593413&r2=1593414&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java Thu May 8 20:50:24 2014
@@ -22,11 +22,13 @@ import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import junit.framework.TestCase;
+import static junit.framework.TestCase.assertTrue;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceGray;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB;
+import static org.apache.pdfbox.pdmodel.graphics.image.ValidateXImage.colorCount;
import static org.apache.pdfbox.pdmodel.graphics.image.ValidateXImage.validate;
/**
@@ -132,6 +134,7 @@ public class JPEGFactoryTest extends Tes
validate(ximage, 8, width, height, "jpg", PDDeviceRGB.INSTANCE.getName());
assertNotNull(ximage.getSoftMask());
validate(ximage.getSoftMask(), 8, width, height, "jpg", PDDeviceGray.INSTANCE.getName());
+ assertTrue(colorCount(ximage.getSoftMask().getImage()) > image.getHeight() / 10);
// This part isn't really needed because this test doesn't break
// if the mask has the wrong colorspace (PDFBOX-2057), but it is still useful
@@ -178,6 +181,7 @@ public class JPEGFactoryTest extends Tes
validate(ximage, 8, width, height, "jpg", PDDeviceRGB.INSTANCE.getName());
assertNotNull(ximage.getSoftMask());
validate(ximage.getSoftMask(), 8, width, height, "jpg", PDDeviceGray.INSTANCE.getName());
+ assertTrue(colorCount(ximage.getSoftMask().getImage()) > image.getHeight() / 10);
// This part isn't really needed because this test doesn't break
// if the mask has the wrong colorspace (PDFBOX-2057), but it is still useful
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java?rev=1593414&r1=1593413&r2=1593414&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java Thu May 8 20:50:24 2014
@@ -26,6 +26,7 @@ import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceGray;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB;
+import static org.apache.pdfbox.pdmodel.graphics.image.ValidateXImage.colorCount;
import static org.apache.pdfbox.pdmodel.graphics.image.ValidateXImage.validate;
/**
@@ -128,6 +129,7 @@ public class LosslessFactoryTest extends
assertNotNull(ximage.getSoftMask());
validate(ximage.getSoftMask(), 8, 344, 287, "png", PDDeviceGray.INSTANCE.getName());
+ assertTrue(colorCount(ximage.getSoftMask().getImage()) > image.getHeight() / 10);
// This part isn't really needed because this test doesn't break
// if the mask has the wrong colorspace (PDFBOX-2057), but it is still useful
@@ -179,6 +181,7 @@ public class LosslessFactoryTest extends
assertNotNull(ximage.getSoftMask());
validate(ximage.getSoftMask(), 8, 344, 287, "png", PDDeviceGray.INSTANCE.getName());
+ assertTrue(colorCount(ximage.getSoftMask().getImage()) > image.getHeight() / 10);
// This part isn't really needed because this test doesn't break
// if the mask has the wrong colorspace (PDFBOX-2057), but it is still useful
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/ValidateXImage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/ValidateXImage.java?rev=1593414&r1=1593413&r2=1593414&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/ValidateXImage.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/ValidateXImage.java Thu May 8 20:50:24 2014
@@ -16,7 +16,10 @@
package org.apache.pdfbox.pdmodel.graphics.image;
+import java.awt.image.BufferedImage;
import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertTrue;
@@ -53,5 +56,20 @@ public class ValidateXImage
format, new NullOutputStream());
assertTrue(writeOk);
}
+
+ static int colorCount(BufferedImage bim)
+ {
+ Set<Integer> colors = new HashSet<Integer>();
+ int w = bim.getWidth();
+ int h = bim.getHeight();
+ for (int y = 0; y < h; y++)
+ {
+ for (int x = 0; x < w; x++)
+ {
+ colors.add(bim.getRGB(x, y));
+ }
+ }
+ return colors.size();
+ }
}