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 2016/01/05 18:29:13 UTC
svn commit: r1723137 -
/pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/imageio/TestImageIOUtils.java
Author: tilman
Date: Tue Jan 5 17:29:12 2016
New Revision: 1723137
URL: http://svn.apache.org/viewvc?rev=1723137&view=rev
Log:
PDFBOX-3163: add test
Modified:
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/imageio/TestImageIOUtils.java
Modified: pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/imageio/TestImageIOUtils.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/imageio/TestImageIOUtils.java?rev=1723137&r1=1723136&r2=1723137&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/imageio/TestImageIOUtils.java (original)
+++ pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/imageio/TestImageIOUtils.java Tue Jan 5 17:29:12 2016
@@ -18,6 +18,7 @@ package org.apache.pdfbox.tools.imageio;
import java.awt.Color;
import java.awt.image.BufferedImage;
+import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
@@ -38,6 +39,7 @@ import junit.framework.TestCase;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.pdfbox.cos.COSName;
+import org.apache.pdfbox.io.IOUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.graphics.PDXObject;
@@ -45,6 +47,8 @@ import org.apache.pdfbox.pdmodel.graphic
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
+import org.apache.pdfbox.util.filetypedetector.FileType;
+import org.apache.pdfbox.util.filetypedetector.FileTypeDetector;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -116,35 +120,41 @@ public class TestImageIOUtils extends Te
// testing PNG
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.RGB, dpi);
checkResolution(outDir + file.getName() + "-1." + imageType, (int) dpi);
+ checkFileTypeByContent(outDir + file.getName() + "-1." + imageType, FileType.PNG);
// testing JPG/JPEG
imageType = "jpg";
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.RGB, dpi);
checkResolution(outDir + file.getName() + "-1." + imageType, (int) dpi);
+ checkFileTypeByContent(outDir + file.getName() + "-1." + imageType, FileType.JPEG);
// testing BMP
imageType = "bmp";
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.RGB, dpi);
checkResolution(outDir + file.getName() + "-1." + imageType, (int) dpi);
+ checkFileTypeByContent(outDir + file.getName() + "-1." + imageType, FileType.BMP);
// testing GIF
imageType = "gif";
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.RGB, dpi);
- // no META data posible for GIF, thus no test
+ // no META data posible for GIF, thus no dpi test
+ checkFileTypeByContent(outDir + file.getName() + "-1." + imageType, FileType.GIF);
// testing WBMP
imageType = "wbmp";
writeImage(document, imageType, outDir + file.getName() + "-", ImageType.BINARY, dpi);
- // no META data posible for WBMP, thus no test
+ // no META data posible for WBMP, thus no dpi test
// 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");
+ checkFileTypeByContent(outDir + file.getName() + "-bw-1." + imageType, FileType.TIFF);
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");
+ checkFileTypeByContent(outDir + file.getName() + "-co-1." + imageType, FileType.TIFF);
}
finally
{
@@ -376,4 +386,11 @@ public class TestImageIOUtils extends Te
reader.dispose();
}
+ private void checkFileTypeByContent(String filename, FileType fileType) throws IOException
+ {
+ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(filename));
+ assertEquals(fileType, FileTypeDetector.detectFileType(bis));
+ IOUtils.closeQuietly(bis);
+ }
+
}