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);  
+    }
+
 }