From: Andreas Beeker Date: Sun, 16 Aug 2020 23:19:11 +0000 (+0000) Subject: removed test which is covered by TestPPTX2PNG X-Git-Tag: before_ooxml_3rd_edition~139 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=afe4a109a85ac0ead2bd7d51849d269109258698;p=poi.git removed test which is covered by TestPPTX2PNG git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1880910 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPicture.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPicture.java index 0d9470647f..0b80b6e97c 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPicture.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPicture.java @@ -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 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 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(); } } }