Author: nick Date: Sun Mar 26 08:21:08 2006 New Revision: 388921 URL: http://svn.apache.org/viewcvs?rev=388921&view=rev Log: Tests for patches from Yegor (Bug #39097)
Added: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/clock.jpg (with props) jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/painting.png (with props) Modified: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java Added: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/clock.jpg URL: http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/clock.jpg?rev=388921&view=auto ============================================================================== Binary file - no diff available. Propchange: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/clock.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/painting.png URL: http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/painting.png?rev=388921&view=auto ============================================================================== Binary file - no diff available. Propchange: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/painting.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Modified: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java URL: http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java?rev=388921&r1=388920&r2=388921&view=diff ============================================================================== --- jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java (original) +++ jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java Sun Mar 26 08:21:08 2006 @@ -17,11 +17,19 @@ package org.apache.poi.hslf.usermodel; import org.apache.poi.hslf.*; +import org.apache.poi.hslf.usermodel.PictureData; +import org.apache.poi.hslf.usermodel.SlideShow; +import org.apache.poi.hslf.model.Slide; +import org.apache.poi.hslf.model.Shape; +import org.apache.poi.hslf.model.Picture; +import org.apache.poi.util.LittleEndian; import junit.framework.TestCase; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; /** * Test extracting images from a ppt file @@ -29,19 +37,61 @@ * @author Yegor Kozlov */ public class TestPictures extends TestCase{ + public static String dirname = System.getProperty("HSLF.testdata.path"); + public static String filename = dirname + "/ppt_with_png.ppt"; - public void testPictures() throws Exception { - String dirname = System.getProperty("HSLF.testdata.path"); - String filename = dirname + "/ppt_with_png.ppt"; + public void testReadPictures() throws Exception { HSLFSlideShow ppt = new HSLFSlideShow(filename); - Picture[] pict = ppt.getPictures(); + PictureData[] pict = ppt.getPictures(); assertNotNull(pict); for (int i = 0; i < pict.length; i++) { byte[] data = pict[i].getData(); + BufferedImage img = ImageIO.read(new ByteArrayInputStream(data)); assertNotNull(img); } ppt.close(); } + + public void testSerializePictures() throws Exception { + HSLFSlideShow ppt = new HSLFSlideShow(filename); + PictureData[] pict = ppt.getPictures(); + assertNotNull(pict); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + ppt.write(out); + out.close(); + + ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())); + pict = ppt.getPictures(); + assertNotNull(pict); + } + + public void testAddPictures() throws Exception { + int idx; + Slide slide; + Picture pict; + + SlideShow ppt = new SlideShow(); + + idx = ppt.addPicture(new File(dirname + "/clock.jpg"), Picture.JPEG); + slide = ppt.createSlide(); + pict = new Picture(idx); + pict.setDefaultSize(ppt); + slide.addShape(pict); + + idx = ppt.addPicture(new File(dirname + "/painting.png"), Picture.PNG); + pict = new Picture(idx); + pict.setDefaultSize(ppt); + slide.addShape(pict); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + ppt.write(out); + out.close(); + + ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()))); + assertTrue(ppt.getPictures().length == 2 ); + } + } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] Mailing List: http://jakarta.apache.org/site/mail2.html#poi The Apache Jakarta POI Project: http://jakarta.apache.org/poi/