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/03/13 23:14:45 UTC
svn commit: r1577341 -
/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/TestImageIOUtils.java
Author: tilman
Date: Thu Mar 13 22:14:45 2014
New Revision: 1577341
URL: http://svn.apache.org/r1577341
Log:
PDFBOX-1975: check color count; remove a statement that disabled code
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/TestImageIOUtils.java
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/TestImageIOUtils.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/TestImageIOUtils.java?rev=1577341&r1=1577340&r2=1577341&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/TestImageIOUtils.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/TestImageIOUtils.java Thu Mar 13 22:14:45 2014
@@ -24,7 +24,9 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FilenameFilter;
import java.io.IOException;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.metadata.IIOMetadata;
@@ -121,6 +123,7 @@ public class TestImageIOUtils extends Te
{
BufferedImage newImage = ImageIO.read(new File(filename));
assertNotNull("File '" + filename + "' could not be read", newImage);
+ checkNotBlank(filename, newImage);
checkBufferedImageSize(filename, image, newImage);
for (int x = 0; x < image.getWidth(); ++x)
{
@@ -145,6 +148,7 @@ public class TestImageIOUtils extends Te
{
BufferedImage newImage = ImageIO.read(new File(filename));
assertNotNull("File '" + filename + "' could not be read", newImage);
+ checkNotBlank(filename, newImage);
checkBufferedImageSize(filename, image, newImage);
}
@@ -154,6 +158,22 @@ public class TestImageIOUtils extends Te
assertEquals("File '" + filename + "' has different height after read", image.getHeight(), newImage.getHeight());
assertEquals("File '" + filename + "' has different width after read", image.getWidth(), newImage.getWidth());
}
+
+ private void checkNotBlank (String filename, BufferedImage newImage)
+ {
+ // http://stackoverflow.com/a/5253698/535646
+ Set<Integer> colors = new HashSet<Integer>();
+ int w = newImage.getWidth();
+ int h = newImage.getHeight();
+ for (int x = 0; x < w; x++)
+ {
+ for (int y = 0; y < h; y++)
+ {
+ colors.add(newImage.getRGB(x, y));
+ }
+ }
+ assertFalse("File '" + filename + "' has less than two colors", colors.size() < 2);
+ }
private void writeImage(PDDocument document, String imageFormat, String outputPrefix,
ImageType imageType, float dpi) throws IOException
@@ -163,7 +183,6 @@ public class TestImageIOUtils extends Te
String fileName = outputPrefix + 1;
LOG.info("Writing: " + fileName + "." + imageFormat);
ImageIOUtil.writeImage(image, imageFormat, fileName, Math.round(dpi));
- if (true) return;
if ("jpg".equals(imageFormat) || "gif".equals(imageFormat))
{
// jpeg is lossy, gif has 256 colors,
@@ -175,7 +194,7 @@ public class TestImageIOUtils extends Te
checkImageFileSizeAndContent(fileName + "." + imageFormat, image);
}
}
-
+
/**
* Test to validate image rendering of file set.
* @throws Exception when there is an exception