You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2019/12/09 22:51:11 UTC

svn commit: r1871109 - /poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java

Author: kiwiwings
Date: Mon Dec  9 22:51:11 2019
New Revision: 1871109

URL: http://svn.apache.org/viewvc?rev=1871109&view=rev
Log:
Ignore "IIO Can't create cache file" errors

Modified:
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java?rev=1871109&r1=1871108&r2=1871109&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java Mon Dec  9 22:51:11 2019
@@ -23,11 +23,12 @@ import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
+import javax.imageio.IIOException;
 import javax.imageio.ImageIO;
 
 import junit.framework.TestCase;
-
 import org.apache.poi.hssf.HSSFTestDataSamples;
+import org.junit.Assume;
 import org.junit.BeforeClass;
 
 /**
@@ -55,63 +56,70 @@ public final class TestHSSFPictureData e
 	public void testPictures() throws IOException {
         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleWithImages.xls");
 
-        @SuppressWarnings("unchecked") // TODO - add getFormat() to interface PictureData and genericise wb.getAllPictures()
+        // TODO - add getFormat() to interface PictureData and genericise wb.getAllPictures()
         List<HSSFPictureData> lst = wb.getAllPictures();
         //assertEquals(2, lst.size());
 
-        for (final HSSFPictureData pict : lst) {
-            String ext = pict.suggestFileExtension();
-            byte[] data = pict.getData();
-            if (ext.equals("jpeg")){
-                //try to read image data using javax.imageio.* (JDK 1.4+)
-                BufferedImage jpg = ImageIO.read(new ByteArrayInputStream(data));
-                assertNotNull(jpg);
-                assertEquals(192, jpg.getWidth());
-                assertEquals(176, jpg.getHeight());
-                assertEquals(HSSFWorkbook.PICTURE_TYPE_JPEG, pict.getFormat());
-                assertEquals("image/jpeg", pict.getMimeType());
-            } else if (ext.equals("png")){
-                //try to read image data using javax.imageio.* (JDK 1.4+)
-                BufferedImage png = ImageIO.read(new ByteArrayInputStream(data));
-                assertNotNull(png);
-                assertEquals(300, png.getWidth());
-                assertEquals(300, png.getHeight());
-                assertEquals(HSSFWorkbook.PICTURE_TYPE_PNG, pict.getFormat());
-                assertEquals("image/png", pict.getMimeType());
+        try {
+            for (final HSSFPictureData pict : lst) {
+                String ext = pict.suggestFileExtension();
+                byte[] data = pict.getData();
+                if (ext.equals("jpeg")) {
+                    //try to read image data using javax.imageio.* (JDK 1.4+)
+                    BufferedImage jpg = ImageIO.read(new ByteArrayInputStream(data));
+                    assertNotNull(jpg);
+                    assertEquals(192, jpg.getWidth());
+                    assertEquals(176, jpg.getHeight());
+                    assertEquals(HSSFWorkbook.PICTURE_TYPE_JPEG, pict.getFormat());
+                    assertEquals("image/jpeg", pict.getMimeType());
+                } else if (ext.equals("png")) {
+                    //try to read image data using javax.imageio.* (JDK 1.4+)
+                    BufferedImage png = ImageIO.read(new ByteArrayInputStream(data));
+                    assertNotNull(png);
+                    assertEquals(300, png.getWidth());
+                    assertEquals(300, png.getHeight());
+                    assertEquals(HSSFWorkbook.PICTURE_TYPE_PNG, pict.getFormat());
+                    assertEquals("image/png", pict.getMimeType());
             /*} else {
                 //TODO: test code for PICT, WMF and EMF*/
+                }
             }
+        } catch (IIOException e) {
+            Assume.assumeFalse(e.getMessage().contains("IIO Can't create cache file"));
+            throw e;
         }
     }
-	
+
 	public void testMacPicture() throws IOException {
         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("53446.xls");
 
-        @SuppressWarnings("unchecked")
-        List<HSSFPictureData> lst = wb.getAllPictures();
-        assertEquals(1, lst.size());
+        try{
+            List<HSSFPictureData> lst = wb.getAllPictures();
+            assertEquals(1, lst.size());
 
-        HSSFPictureData pict = lst.get(0);
-        String ext = pict.suggestFileExtension();
-        if (!ext.equals("png")) {
-            fail("Expected a PNG.");
-        }
+            HSSFPictureData pict = lst.get(0);
+            String ext = pict.suggestFileExtension();
+            assertEquals("Expected a PNG.", "png", ext);
 
-        //try to read image data using javax.imageio.* (JDK 1.4+)
-        byte[] data = pict.getData();
-        BufferedImage png = ImageIO.read(new ByteArrayInputStream(data));
-        assertNotNull(png);
-        assertEquals(78, png.getWidth());
-        assertEquals(76, png.getHeight());
-        assertEquals(HSSFWorkbook.PICTURE_TYPE_PNG, pict.getFormat());
-        assertEquals("image/png", pict.getMimeType());
+            //try to read image data using javax.imageio.* (JDK 1.4+)
+            byte[] data = pict.getData();
+            BufferedImage png = ImageIO.read(new ByteArrayInputStream(data));
+            assertNotNull(png);
+            assertEquals(78, png.getWidth());
+            assertEquals(76, png.getHeight());
+            assertEquals(HSSFWorkbook.PICTURE_TYPE_PNG, pict.getFormat());
+            assertEquals("image/png", pict.getMimeType());
+        } catch (IIOException e) {
+            Assume.assumeFalse(e.getMessage().contains("IIO Can't create cache file"));
+            throw e;
+        }
     }
 
     public void testNotNullPictures() {
 
         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SheetWithDrawing.xls");
 
-        @SuppressWarnings("unchecked") // TODO - add getFormat() to interface PictureData and genericise wb.getAllPictures()
+        // TODO - add getFormat() to interface PictureData and genericise wb.getAllPictures()
         List<HSSFPictureData> lst = wb.getAllPictures();
         for(HSSFPictureData pict : lst){
             assertNotNull(pict);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org