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