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 2020/08/23 08:00:44 UTC

svn commit: r1881097 - in /pdfbox/branches/issue45/pdfbox/src/test: java/org/apache/pdfbox/pdmodel/graphics/image/PNGConverterTest.java resources/org/apache/pdfbox/pdmodel/graphics/image/929316.png

Author: tilman
Date: Sun Aug 23 08:00:43 2020
New Revision: 1881097

URL: http://svn.apache.org/viewvc?rev=1881097&view=rev
Log:
PDFBOX-4847: improve test coverage to include the "store the specified rendering intent" and "we tag the image with the sRGB profile" cases with new file found on digitalcorpora.org

Added:
    pdfbox/branches/issue45/pdfbox/src/test/resources/org/apache/pdfbox/pdmodel/graphics/image/929316.png
      - copied unchanged from r1881095, pdfbox/trunk/pdfbox/src/test/resources/org/apache/pdfbox/pdmodel/graphics/image/929316.png
Modified:
    pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PNGConverterTest.java

Modified: pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PNGConverterTest.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PNGConverterTest.java?rev=1881097&r1=1881096&r2=1881097&view=diff
==============================================================================
--- pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PNGConverterTest.java (original)
+++ pdfbox/branches/issue45/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PNGConverterTest.java Sun Aug 23 08:00:43 2020
@@ -38,6 +38,7 @@ import org.apache.pdfbox.pdmodel.PDDocum
 import org.apache.pdfbox.pdmodel.PDPage;
 import org.apache.pdfbox.pdmodel.PDPageContentStream;
 import org.apache.pdfbox.pdmodel.graphics.color.PDICCBased;
+import org.apache.pdfbox.pdmodel.graphics.color.PDIndexed;
 
 import static org.apache.pdfbox.pdmodel.graphics.image.ValidateXImage.checkIdent;
 import static org.junit.Assert.assertEquals;
@@ -336,4 +337,30 @@ public class PNGConverterTest
         assertNull(PNGConverter.mapPNGRenderIntent(-1));
         assertNull(PNGConverter.mapPNGRenderIntent(4));
     }
+
+    /**
+     * Test code coverage for /Intent /Perceptual and for sRGB icc profile in indexed colorspace.
+     *
+     * @throws IOException 
+     */
+    @Test
+    public void testImageConversionIntentIndexed() throws IOException
+    {
+        PDDocument doc = new PDDocument();
+
+        byte[] imageBytes = IOUtils.toByteArray(PNGConverterTest.class.getResourceAsStream("929316.png"));
+        PDImageXObject pdImageXObject = PNGConverter.convertPNGImage(doc, imageBytes);
+        assertEquals(COSName.PERCEPTUAL, pdImageXObject.getCOSObject().getItem(COSName.INTENT));
+
+        // Check that this image gets an indexed colorspace with sRGB ICC based colorspace
+        PDIndexed indexedColorspace = (PDIndexed) pdImageXObject.getColorSpace();
+
+        PDICCBased iccColorspace = (PDICCBased) indexedColorspace.getBaseColorSpace();
+        // validity of ICC CS is tested in checkImageConvert
+
+        assertTrue(iccColorspace.issRGB());
+        doc.close();
+
+        checkImageConvert("929316.png");
+    }
 }