]> source.dussan.org Git - poi.git/commitdiff
removed test which is covered by TestPPTX2PNG
authorAndreas Beeker <kiwiwings@apache.org>
Sun, 16 Aug 2020 23:19:11 +0000 (23:19 +0000)
committerAndreas Beeker <kiwiwings@apache.org>
Sun, 16 Aug 2020 23:19:11 +0000 (23:19 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1880910 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPicture.java

index 0d9470647f889d22ef42c170f43677ae47106ed2..0b80b6e97c66cfda3b45ff62c55a22199ce5b447 100644 (file)
@@ -22,42 +22,28 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
-import java.awt.BasicStroke;
-import java.awt.Color;
-import java.awt.Dimension;
 import java.awt.Graphics2D;
 import java.awt.Rectangle;
 import java.awt.geom.Rectangle2D;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.BitSet;
 import java.util.List;
 
 import javax.imageio.ImageIO;
 
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.ddf.EscherBSERecord;
-import org.apache.poi.hssf.usermodel.DummyGraphics2d;
-import org.apache.poi.sl.draw.DrawFactory;
 import org.apache.poi.sl.usermodel.PictureData.PictureType;
-import org.apache.poi.sl.usermodel.Slide;
-import org.apache.poi.sl.usermodel.SlideShow;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * Test Picture shape.
- *
- * @author Yegor Kozlov
  */
 public final class TestPicture {
-    private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
+    private static final POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
 
     @BeforeClass
     public static void disableImageIOCache() {
@@ -71,35 +57,33 @@ public final class TestPicture {
      */
     @Test
     public void multiplePictures() throws IOException {
-        HSLFSlideShow ppt = new HSLFSlideShow();
-
-        HSLFSlide s = ppt.createSlide();
-        HSLFSlide s2 = ppt.createSlide();
-        HSLFSlide s3 = ppt.createSlide();
-
-        HSLFPictureData data = ppt.addPicture(_slTests.readFile("clock.jpg"), PictureType.JPEG);
-        HSLFPictureShape pict = new HSLFPictureShape(data);
-        HSLFPictureShape pict2 = new HSLFPictureShape(data);
-        HSLFPictureShape pict3 = new HSLFPictureShape(data);
-
-        pict.setAnchor(new Rectangle(10,10,100,100));
-        s.addShape(pict);
-        EscherBSERecord bse1 = pict.getEscherBSERecord();
-        assertEquals(1, bse1.getRef());
-
-        pict2.setAnchor(new Rectangle(10,10,100,100));
-        s2.addShape(pict2);
-        EscherBSERecord bse2 = pict.getEscherBSERecord();
-        assertSame(bse1, bse2);
-        assertEquals(2, bse1.getRef());
-
-        pict3.setAnchor(new Rectangle(10,10,100,100));
-        s3.addShape(pict3);
-        EscherBSERecord bse3 = pict.getEscherBSERecord();
-        assertSame(bse2, bse3);
-        assertEquals(3, bse1.getRef());
-        
-        ppt.close();
+        try (HSLFSlideShow ppt = new HSLFSlideShow()) {
+            HSLFSlide s = ppt.createSlide();
+            HSLFSlide s2 = ppt.createSlide();
+            HSLFSlide s3 = ppt.createSlide();
+
+            HSLFPictureData data = ppt.addPicture(_slTests.readFile("clock.jpg"), PictureType.JPEG);
+            HSLFPictureShape pict = new HSLFPictureShape(data);
+            HSLFPictureShape pict2 = new HSLFPictureShape(data);
+            HSLFPictureShape pict3 = new HSLFPictureShape(data);
+
+            pict.setAnchor(new Rectangle(10, 10, 100, 100));
+            s.addShape(pict);
+            EscherBSERecord bse1 = pict.getEscherBSERecord();
+            assertEquals(1, bse1.getRef());
+
+            pict2.setAnchor(new Rectangle(10, 10, 100, 100));
+            s2.addShape(pict2);
+            EscherBSERecord bse2 = pict.getEscherBSERecord();
+            assertSame(bse1, bse2);
+            assertEquals(2, bse1.getRef());
+
+            pict3.setAnchor(new Rectangle(10, 10, 100, 100));
+            s3.addShape(pict3);
+            EscherBSERecord bse3 = pict.getEscherBSERecord();
+            assertSame(bse2, bse3);
+            assertEquals(3, bse1.getRef());
+        }
     }
 
     /**
@@ -108,117 +92,64 @@ public final class TestPicture {
      */
     @Test
     public void bug46122() throws IOException {
-        HSLFSlideShow ppt = new HSLFSlideShow();
-        HSLFSlide slide = ppt.createSlide();
-        HSLFPictureData pd = HSLFPictureData.create(PictureType.PNG);
-        
-        HSLFPictureShape pict = new HSLFPictureShape(pd); //index to non-existing picture data
-        pict.setAnchor(new Rectangle2D.Double(50,50,100,100));
-        pict.setSheet(slide);
-        HSLFPictureData data = pict.getPictureData();
-        assertNull(data);
-
-        BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
-        Graphics2D graphics = img.createGraphics();
-        pict.draw(graphics, null);
-        
-        ppt.close();
-    }
-
-    @Test
-    public void macImages() throws IOException {
-        HSLFSlideShowImpl hss = new HSLFSlideShowImpl(_slTests.openResourceAsStream("53446.ppt"));
-
-        List<HSLFPictureData> pictures = hss.getPictureData();
-        assertEquals(15, pictures.size());
-
-        int[][] expectedSizes = {
-                null,           // WMF
-                { 427, 428 },   // PNG
-                { 371, 370 },   // PNG
-                { 288, 183 },   // PNG
-                { 285, 97 },    // PNG
-                { 288, 168 },   // PNG
-                null,           // WMF
-                null,           // WMF
-                { 199, 259 },   // PNG
-                { 432, 244 },   // PNG
-                { 261, 258 },   // PNG
-                null,           // WMF
-                null,           // WMF
-                null,           // WMF
-                null            // EMF
-        };
-
-        int i = 0;
-        for (HSLFPictureData pd : pictures) {
-            int[] dimensions = expectedSizes[i++];
-            BufferedImage image = ImageIO.read(new ByteArrayInputStream(pd.getData()));
-            switch (pd.getType()) {
-                case WMF:
-                case EMF:
-                    break;
-                default:
-                    assertNotNull(image);
-                    assertEquals(dimensions[0], image.getWidth());
-                    assertEquals(dimensions[1], image.getHeight());
-                    break;
-            }
+        try (HSLFSlideShow ppt = new HSLFSlideShow()) {
+            HSLFSlide slide = ppt.createSlide();
+            HSLFPictureData pd = HSLFPictureData.create(PictureType.PNG);
+
+            HSLFPictureShape pict = new HSLFPictureShape(pd); //index to non-existing picture data
+            pict.setAnchor(new Rectangle2D.Double(50, 50, 100, 100));
+            pict.setSheet(slide);
+            HSLFPictureData data = pict.getPictureData();
+            assertNull(data);
+
+            BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
+            Graphics2D graphics = img.createGraphics();
+            pict.draw(graphics, null);
         }
-        
-        hss.close();
     }
 
     @Test
-    @Ignore("Just for visual validation - antialiasing is different on various systems")
-    public void bug54541()
-    throws IOException, ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
-        String[] files = {
-//            "sample_pptx_grouping_issues.pptx",
-//            "54542_cropped_bitmap.pptx",
-//            "54541_cropped_bitmap.ppt",
-//            "54541_cropped_bitmap2.ppt",
-                "alterman_security.ppt",
-//            "alterman_security3.pptx",
-        };
-        
-        BitSet pages = new BitSet();
-        pages.set(2);
-        
-        for (String file : files) {
-            InputStream is = _slTests.openResourceAsStream(file);
-            SlideShow<?,?> ss;
-            if (file.endsWith("pptx")) {
-                Class<?> cls = Class.forName("org.apache.poi.xslf.usermodel.XMLSlideShow");
-                Constructor<?> ct = cls.getDeclaredConstructor(InputStream.class);
-                ss = (SlideShow<?,?>)ct.newInstance(is);
-            } else {
-                ss = new HSLFSlideShow(is);
-            }
-            is.close();
-            
-            boolean debugOut = false;
-            Dimension pg = ss.getPageSize();
-            for (Slide<?,?> slide : ss.getSlides()) {
-                int slideNo = slide.getSlideNumber();
-                if (!pages.get(slideNo-1)) {
-                    if (pages.nextSetBit(slideNo-1) == -1) break; else continue;
-                }
-                if (debugOut) {
-                    DummyGraphics2d graphics = new DummyGraphics2d();
-                    slide.draw(graphics);
-                } else {
-                    BufferedImage img = new BufferedImage(pg.width, pg.height, BufferedImage.TYPE_INT_ARGB);
-                    Graphics2D graphics = img.createGraphics();
-                    slide.draw(graphics);
-                    graphics.setColor(Color.BLACK);
-                    graphics.setStroke(new BasicStroke(1));
-                    graphics.drawRect(0, 0, (int)pg.getWidth()-1, (int)pg.getHeight()-1);
-                    ImageIO.write(img, "PNG", new File(file.replaceFirst(".pptx?", "-")+slideNo+".png"));
+    public void macImages() throws IOException {
+        try (InputStream is = _slTests.openResourceAsStream("53446.ppt");
+             HSLFSlideShowImpl hss = new HSLFSlideShowImpl(is)) {
+
+            List<HSLFPictureData> pictures = hss.getPictureData();
+            assertEquals(15, pictures.size());
+
+            int[][] expectedSizes = {
+                    null,           // WMF
+                    {427, 428},   // PNG
+                    {371, 370},   // PNG
+                    {288, 183},   // PNG
+                    {285, 97},    // PNG
+                    {288, 168},   // PNG
+                    null,           // WMF
+                    null,           // WMF
+                    {199, 259},   // PNG
+                    {432, 244},   // PNG
+                    {261, 258},   // PNG
+                    null,           // WMF
+                    null,           // WMF
+                    null,           // WMF
+                    null            // EMF
+            };
+
+            int i = 0;
+            for (HSLFPictureData pd : pictures) {
+                int[] dimensions = expectedSizes[i++];
+                BufferedImage image = ImageIO.read(new ByteArrayInputStream(pd.getData()));
+                switch (pd.getType()) {
+                    case WMF:
+                    case EMF:
+                        break;
+                    default:
+                        assertNotNull(image);
+                        assertNotNull(dimensions);
+                        assertEquals(dimensions[0], image.getWidth());
+                        assertEquals(dimensions[1], image.getHeight());
+                        break;
                 }
             }
-            
-            ss.close();
         }
     }
 }