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/12 08:08:40 UTC
svn commit: r1576599 -
/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/util/TestImageIOUtils.java
Author: tilman
Date: Wed Mar 12 07:08:39 2014
New Revision: 1576599
URL: http://svn.apache.org/r1576599
Log:
PDFBOX-1975: activated unit tests for TIFF (resolution and compression)
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=1576599&r1=1576598&r2=1576599&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 Wed Mar 12 07:08:39 2014
@@ -67,22 +67,35 @@ public class TestImageIOUtils extends Te
{
float dpi = 120;
document = PDDocument.load(file);
+
// testing PNG
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.RGB, dpi);
checkResolution(outDir + file.getName() + "-1." + imageType, (int) dpi);
+
// testing JPG/JPEG
imageType = "jpg";
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.RGB, dpi);
+ //TODO this one doesn't save the meta data
+
// testing BMP
imageType = "bmp";
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.RGB, dpi);
+ //TODO sometimes empty, sometimes correct?????
+ //checkResolution(outDir + file.getName() + "-1." + imageType, (int) dpi);
+
// testing WBMP
+ //TODO this doesn't work at all, am empty image is always created
imageType = "wbmp";
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.RGB, dpi);
+
// testing TIFF
imageType = "tif";
writeImage(document, imageType, outDir + file.getName() + "-bw-", ImageType.BINARY, dpi);
+ checkResolution(outDir + file.getName() + "-bw-1." + imageType, (int) dpi);
+ checkTiffCompression(outDir + file.getName() + "-bw-1." + imageType, "CCITT T.6");
writeImage(document, imageType, outDir + file.getName() + "-co-", ImageType.RGB, dpi);
+ checkResolution(outDir + file.getName() + "-co-1." + imageType, (int) dpi);
+ checkTiffCompression(outDir + file.getName() + "-co-1." + imageType, "LZW");
}
finally
{
@@ -144,6 +157,7 @@ public class TestImageIOUtils extends Te
private void checkResolution(String filename, int expectedResolution)
throws IOException
{
+ assertFalse("Empty file " + filename, new File(filename).length() == 0);
String suffix = filename.substring(filename.lastIndexOf('.') + 1);
if ("BMP".equals(suffix.toUpperCase()))
{
@@ -210,14 +224,14 @@ public class TestImageIOUtils extends Te
}
/**
- * Get the compression of a TIFF file
+ * checks whether the compression of a TIFF file is as expected.
*
* @param filename Filename
- * @return the TIFF compression
+ * @param the expected TIFF compression
*
- * @throws IOException
+ * @throws IOException if something goes wrong
*/
- String getTiffCompression(String filename) throws IOException
+ void checkTiffCompression(String filename, String expectedCompression) throws IOException
{
Iterator readers = ImageIO.getImageReadersBySuffix("tiff");
ImageReader reader = (ImageReader) readers.next();
@@ -227,10 +241,10 @@ public class TestImageIOUtils extends Te
Element root = (Element) imageMetadata.getAsTree(STANDARD_METADATA_FORMAT);
Element comprElement = (Element) root.getElementsByTagName("Compression").item(0);
Node comprTypeNode = comprElement.getElementsByTagName("CompressionTypeName").item(0);
- String compression = comprTypeNode.getAttributes().getNamedItem("value").getNodeValue();
+ String actualCompression = comprTypeNode.getAttributes().getNamedItem("value").getNodeValue();
+ assertEquals("Incorrect TIFF compression in file " + filename, expectedCompression, actualCompression);
iis.close();
reader.dispose();
- return compression;
}
}