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/

Reply via email to