You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by ba...@apache.org on 2006/12/22 21:56:06 UTC

svn commit: r489760 [6/8] - in /jakarta/poi/trunk/src: java/org/apache/poi/hssf/record/ java/org/apache/poi/hssf/record/formula/ java/org/apache/poi/hssf/util/ scratchpad/src/org/apache/poi/hslf/blip/ scratchpad/src/org/apache/poi/hslf/extractor/ scrat...

Modified: jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/SavedByTable.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/SavedByTable.java?view=diff&rev=489760&r1=489759&r2=489760
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/SavedByTable.java (original)
+++ jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/SavedByTable.java Fri Dec 22 12:56:04 2006
@@ -1,121 +1,121 @@
-/* ====================================================================
-   Copyright 2002-2004   Apache Software Foundation
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-==================================================================== */
-
-
-package org.apache.poi.hwpf.model;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-
-import org.apache.poi.hwpf.model.io.HWPFOutputStream;
-
-/**
- * String table containing the history of the last few revisions ("saves") of the document.
- * Read-only for the time being.
- * 
- * @author Daniel Noll
- */
-public class SavedByTable
-{
-  /**
-   * A value that I don't know what it does, but is maintained for accuracy.
-   */
-  private short unknownValue = -1;
-
-  /**
-   * Array of entries.
-   */
-  private SavedByEntry[] entries;
-
-  /**
-   * Constructor to read the table from the table stream.
-   *
-   * @param tableStream the table stream.
-   * @param offset the offset into the byte array.
-   * @param size the size of the table in the byte array.
-   */
-  public SavedByTable(byte[] tableStream, int offset, int size)
-  {
-    // Read the value that I don't know what it does. :-)
-    unknownValue = LittleEndian.getShort(tableStream, offset);
-    offset += 2;
-
-    // The stored int is the number of strings, and there are two strings per entry.
-    int numEntries = LittleEndian.getInt(tableStream, offset) / 2;
-    offset += 4;
-
-    entries = new SavedByEntry[numEntries];
-    for (int i = 0; i < numEntries; i++)
-    {
-      int len = LittleEndian.getShort(tableStream, offset);
-      offset += 2;
-      String userName = StringUtil.getFromUnicodeLE(tableStream, offset, len);
-      offset += len * 2;
-      len = LittleEndian.getShort(tableStream, offset);
-      offset += 2;
-      String saveLocation = StringUtil.getFromUnicodeLE(tableStream, offset, len);
-      offset += len * 2;
-
-      entries[i] = new SavedByEntry(userName, saveLocation);
-    }
-  }
-
-  /**
-   * Gets the entries.  The returned list cannot be modified.
-   *
-   * @return the list of entries.
-   */
-  public List getEntries()
-  {
-    return Collections.unmodifiableList(Arrays.asList(entries));
-  }
-
-  /**
-   * Writes this table to the table stream.
-   *
-   * @param tableStream the table stream to write to.
-   * @throws IOException if an error occurs while writing.
-   */
-  public void writeTo(HWPFOutputStream tableStream)
-    throws IOException
-  {
-    byte[] header = new byte[6];
-    LittleEndian.putShort(header, 0, unknownValue);
-    LittleEndian.putInt(header, 2, entries.length * 2);
-    tableStream.write(header);
-
-    for (int i = 0; i < entries.length; i++)
-    {
-      writeStringValue(tableStream, entries[i].getUserName());
-      writeStringValue(tableStream, entries[i].getSaveLocation());
-    }
-  }
-
-  private void writeStringValue(HWPFOutputStream tableStream, String value)
-    throws IOException
-  {
-    byte[] buf = new byte[value.length() * 2 + 2];
-    LittleEndian.putShort(buf, 0, (short) value.length());
-    StringUtil.putUnicodeLE(value, buf, 2);
-    tableStream.write(buf);
-  }
-}
-
+/* ====================================================================
+   Copyright 2002-2004   Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
+
+package org.apache.poi.hwpf.model;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.StringUtil;
+
+import org.apache.poi.hwpf.model.io.HWPFOutputStream;
+
+/**
+ * String table containing the history of the last few revisions ("saves") of the document.
+ * Read-only for the time being.
+ * 
+ * @author Daniel Noll
+ */
+public class SavedByTable
+{
+  /**
+   * A value that I don't know what it does, but is maintained for accuracy.
+   */
+  private short unknownValue = -1;
+
+  /**
+   * Array of entries.
+   */
+  private SavedByEntry[] entries;
+
+  /**
+   * Constructor to read the table from the table stream.
+   *
+   * @param tableStream the table stream.
+   * @param offset the offset into the byte array.
+   * @param size the size of the table in the byte array.
+   */
+  public SavedByTable(byte[] tableStream, int offset, int size)
+  {
+    // Read the value that I don't know what it does. :-)
+    unknownValue = LittleEndian.getShort(tableStream, offset);
+    offset += 2;
+
+    // The stored int is the number of strings, and there are two strings per entry.
+    int numEntries = LittleEndian.getInt(tableStream, offset) / 2;
+    offset += 4;
+
+    entries = new SavedByEntry[numEntries];
+    for (int i = 0; i < numEntries; i++)
+    {
+      int len = LittleEndian.getShort(tableStream, offset);
+      offset += 2;
+      String userName = StringUtil.getFromUnicodeLE(tableStream, offset, len);
+      offset += len * 2;
+      len = LittleEndian.getShort(tableStream, offset);
+      offset += 2;
+      String saveLocation = StringUtil.getFromUnicodeLE(tableStream, offset, len);
+      offset += len * 2;
+
+      entries[i] = new SavedByEntry(userName, saveLocation);
+    }
+  }
+
+  /**
+   * Gets the entries.  The returned list cannot be modified.
+   *
+   * @return the list of entries.
+   */
+  public List getEntries()
+  {
+    return Collections.unmodifiableList(Arrays.asList(entries));
+  }
+
+  /**
+   * Writes this table to the table stream.
+   *
+   * @param tableStream the table stream to write to.
+   * @throws IOException if an error occurs while writing.
+   */
+  public void writeTo(HWPFOutputStream tableStream)
+    throws IOException
+  {
+    byte[] header = new byte[6];
+    LittleEndian.putShort(header, 0, unknownValue);
+    LittleEndian.putInt(header, 2, entries.length * 2);
+    tableStream.write(header);
+
+    for (int i = 0; i < entries.length; i++)
+    {
+      writeStringValue(tableStream, entries[i].getUserName());
+      writeStringValue(tableStream, entries[i].getSaveLocation());
+    }
+  }
+
+  private void writeStringValue(HWPFOutputStream tableStream, String value)
+    throws IOException
+  {
+    byte[] buf = new byte[value.length() * 2 + 2];
+    LittleEndian.putShort(buf, 0, (short) value.length());
+    StringUtil.putUnicodeLE(value, buf, 2);
+    tableStream.write(buf);
+  }
+}
+

Modified: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java?view=diff&rev=489760&r1=489759&r2=489760
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java (original)
+++ jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java Fri Dec 22 12:56:04 2006
@@ -1,182 +1,182 @@
-/* ====================================================================
-   Copyright 2002-2004   Apache Software Foundation
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-==================================================================== */
-package org.apache.poi.hslf.model;
-
-import junit.framework.TestCase;
-
-import java.io.*;
-import java.awt.*;
-
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.HSLFSlideShow;
-
-/**
- * Test <code>Fill</code> object.
- * 
- * @author Yegor Kozlov
- */
-public class TestBackground extends TestCase {
-
-    /**
-     * Default background for slide, shape and slide master.
-     */
-    public void testDefaults() throws Exception {
-        SlideShow ppt = new SlideShow();
-
-        assertEquals(Fill.FILL_SOLID, ppt.getSlidesMasters()[0].getBackground().getFill().getFillType());
-
-        Slide slide = ppt.createSlide();
-        assertTrue(slide.getFollowMasterBackground());
-        assertEquals(Fill.FILL_SOLID, slide.getBackground().getFill().getFillType());
-
-        Shape shape = new AutoShape(ShapeTypes.Rectangle);
-        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
-    }
-
-    /**
-     * Read fill information from an reference ppt file
-     */
-    public void testReadBackground() throws Exception {
-        SlideShow ppt = new SlideShow(new HSLFSlideShow(System.getProperty("HSLF.testdata.path") + "/backgrounds.ppt"));
-        Fill fill;
-        Shape shape;
-
-        Slide[] slide = ppt.getSlides();
-
-        fill = slide[0].getBackground().getFill();
-        assertEquals(Fill.FILL_PICTURE, fill.getFillType());
-        shape = slide[0].getShapes()[0];
-        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
-
-        fill = slide[1].getBackground().getFill();
-        assertEquals(Fill.FILL_PATTERN, fill.getFillType());
-        shape = slide[1].getShapes()[0];
-        assertEquals(Fill.FILL_BACKGROUND, shape.getFill().getFillType());
-
-        fill = slide[2].getBackground().getFill();
-        assertEquals(Fill.FILL_TEXTURE, fill.getFillType());
-        shape = slide[2].getShapes()[0];
-        assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
-
-        fill = slide[3].getBackground().getFill();
-        assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
-        shape = slide[3].getShapes()[0];
-        assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
-    }
-
-    /**
-     * Create a ppt with various fill effects
-     */
-    public void testBackgroundPicture() throws Exception {
-        SlideShow ppt = new SlideShow();
-        Slide slide;
-        Fill fill;
-        Shape shape;
-        int idx;
-
-        //slide 1
-        slide = ppt.createSlide();
-        slide.setFollowMasterBackground(false);
-        fill = slide.getBackground().getFill();
-        idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
-        fill.setFillType(Fill.FILL_PICTURE);
-        fill.setPictureData(idx);
-
-        shape = new AutoShape(ShapeTypes.Rectangle);
-        shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
-        fill = shape.getFill();
-        fill.setFillType(Fill.FILL_SOLID);
-        slide.addShape(shape);
-
-        //slide 2
-        slide = ppt.createSlide();
-        slide.setFollowMasterBackground(false);
-        fill = slide.getBackground().getFill();
-        idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
-        fill.setFillType(Fill.FILL_PATTERN);
-        fill.setPictureData(idx);
-        fill.setBackgroundColor(Color.green);
-        fill.setForegroundColor(Color.red);
-
-        shape = new AutoShape(ShapeTypes.Rectangle);
-        shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
-        fill = shape.getFill();
-        fill.setFillType(Fill.FILL_BACKGROUND);
-        slide.addShape(shape);
-
-        //slide 3
-        slide = ppt.createSlide();
-        slide.setFollowMasterBackground(false);
-        fill = slide.getBackground().getFill();
-        idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
-        fill.setFillType(Fill.FILL_TEXTURE);
-        fill.setPictureData(idx);
-
-        shape = new AutoShape(ShapeTypes.Rectangle);
-        shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
-        fill = shape.getFill();
-        fill.setFillType(Fill.FILL_PICTURE);
-        idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/clock.jpg"), Picture.JPEG);
-        fill.setPictureData(idx);
-        slide.addShape(shape);
-
-        // slide 4
-        slide = ppt.createSlide();
-        slide.setFollowMasterBackground(false);
-        fill = slide.getBackground().getFill();
-        fill.setFillType(Fill.FILL_SHADE_CENTER);
-        fill.setBackgroundColor(Color.white);
-        fill.setForegroundColor(Color.darkGray);
-
-        shape = new AutoShape(ShapeTypes.Rectangle);
-        shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
-        fill = shape.getFill();
-        fill.setFillType(Fill.FILL_SHADE);
-        fill.setBackgroundColor(Color.red);
-        fill.setForegroundColor(Color.green);
-        slide.addShape(shape);
-
-        //serialize and read again
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        Slide[] slides = ppt.getSlides();
-
-        fill = slides[0].getBackground().getFill();
-        assertEquals(Fill.FILL_PICTURE, fill.getFillType());
-        shape = slides[0].getShapes()[0];
-        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
-
-        fill = slides[1].getBackground().getFill();
-        assertEquals(Fill.FILL_PATTERN, fill.getFillType());
-        shape = slides[1].getShapes()[0];
-        assertEquals(Fill.FILL_BACKGROUND, shape.getFill().getFillType());
-
-        fill = slides[2].getBackground().getFill();
-        assertEquals(Fill.FILL_TEXTURE, fill.getFillType());
-        shape = slides[2].getShapes()[0];
-        assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
-
-        fill = slides[3].getBackground().getFill();
-        assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
-        shape = slides[3].getShapes()[0];
-        assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
-
-    }
-
-}
+/* ====================================================================
+   Copyright 2002-2004   Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+package org.apache.poi.hslf.model;
+
+import junit.framework.TestCase;
+
+import java.io.*;
+import java.awt.*;
+
+import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.HSLFSlideShow;
+
+/**
+ * Test <code>Fill</code> object.
+ * 
+ * @author Yegor Kozlov
+ */
+public class TestBackground extends TestCase {
+
+    /**
+     * Default background for slide, shape and slide master.
+     */
+    public void testDefaults() throws Exception {
+        SlideShow ppt = new SlideShow();
+
+        assertEquals(Fill.FILL_SOLID, ppt.getSlidesMasters()[0].getBackground().getFill().getFillType());
+
+        Slide slide = ppt.createSlide();
+        assertTrue(slide.getFollowMasterBackground());
+        assertEquals(Fill.FILL_SOLID, slide.getBackground().getFill().getFillType());
+
+        Shape shape = new AutoShape(ShapeTypes.Rectangle);
+        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
+    }
+
+    /**
+     * Read fill information from an reference ppt file
+     */
+    public void testReadBackground() throws Exception {
+        SlideShow ppt = new SlideShow(new HSLFSlideShow(System.getProperty("HSLF.testdata.path") + "/backgrounds.ppt"));
+        Fill fill;
+        Shape shape;
+
+        Slide[] slide = ppt.getSlides();
+
+        fill = slide[0].getBackground().getFill();
+        assertEquals(Fill.FILL_PICTURE, fill.getFillType());
+        shape = slide[0].getShapes()[0];
+        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
+
+        fill = slide[1].getBackground().getFill();
+        assertEquals(Fill.FILL_PATTERN, fill.getFillType());
+        shape = slide[1].getShapes()[0];
+        assertEquals(Fill.FILL_BACKGROUND, shape.getFill().getFillType());
+
+        fill = slide[2].getBackground().getFill();
+        assertEquals(Fill.FILL_TEXTURE, fill.getFillType());
+        shape = slide[2].getShapes()[0];
+        assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
+
+        fill = slide[3].getBackground().getFill();
+        assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
+        shape = slide[3].getShapes()[0];
+        assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
+    }
+
+    /**
+     * Create a ppt with various fill effects
+     */
+    public void testBackgroundPicture() throws Exception {
+        SlideShow ppt = new SlideShow();
+        Slide slide;
+        Fill fill;
+        Shape shape;
+        int idx;
+
+        //slide 1
+        slide = ppt.createSlide();
+        slide.setFollowMasterBackground(false);
+        fill = slide.getBackground().getFill();
+        idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
+        fill.setFillType(Fill.FILL_PICTURE);
+        fill.setPictureData(idx);
+
+        shape = new AutoShape(ShapeTypes.Rectangle);
+        shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
+        fill = shape.getFill();
+        fill.setFillType(Fill.FILL_SOLID);
+        slide.addShape(shape);
+
+        //slide 2
+        slide = ppt.createSlide();
+        slide.setFollowMasterBackground(false);
+        fill = slide.getBackground().getFill();
+        idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
+        fill.setFillType(Fill.FILL_PATTERN);
+        fill.setPictureData(idx);
+        fill.setBackgroundColor(Color.green);
+        fill.setForegroundColor(Color.red);
+
+        shape = new AutoShape(ShapeTypes.Rectangle);
+        shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
+        fill = shape.getFill();
+        fill.setFillType(Fill.FILL_BACKGROUND);
+        slide.addShape(shape);
+
+        //slide 3
+        slide = ppt.createSlide();
+        slide.setFollowMasterBackground(false);
+        fill = slide.getBackground().getFill();
+        idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/tomcat.png"), Picture.PNG);
+        fill.setFillType(Fill.FILL_TEXTURE);
+        fill.setPictureData(idx);
+
+        shape = new AutoShape(ShapeTypes.Rectangle);
+        shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
+        fill = shape.getFill();
+        fill.setFillType(Fill.FILL_PICTURE);
+        idx = ppt.addPicture(new File(System.getProperty("HSLF.testdata.path") + "/clock.jpg"), Picture.JPEG);
+        fill.setPictureData(idx);
+        slide.addShape(shape);
+
+        // slide 4
+        slide = ppt.createSlide();
+        slide.setFollowMasterBackground(false);
+        fill = slide.getBackground().getFill();
+        fill.setFillType(Fill.FILL_SHADE_CENTER);
+        fill.setBackgroundColor(Color.white);
+        fill.setForegroundColor(Color.darkGray);
+
+        shape = new AutoShape(ShapeTypes.Rectangle);
+        shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
+        fill = shape.getFill();
+        fill.setFillType(Fill.FILL_SHADE);
+        fill.setBackgroundColor(Color.red);
+        fill.setForegroundColor(Color.green);
+        slide.addShape(shape);
+
+        //serialize and read again
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+        Slide[] slides = ppt.getSlides();
+
+        fill = slides[0].getBackground().getFill();
+        assertEquals(Fill.FILL_PICTURE, fill.getFillType());
+        shape = slides[0].getShapes()[0];
+        assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
+
+        fill = slides[1].getBackground().getFill();
+        assertEquals(Fill.FILL_PATTERN, fill.getFillType());
+        shape = slides[1].getShapes()[0];
+        assertEquals(Fill.FILL_BACKGROUND, shape.getFill().getFillType());
+
+        fill = slides[2].getBackground().getFill();
+        assertEquals(Fill.FILL_TEXTURE, fill.getFillType());
+        shape = slides[2].getShapes()[0];
+        assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
+
+        fill = slides[3].getBackground().getFill();
+        assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
+        shape = slides[3].getShapes()[0];
+        assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
+
+    }
+
+}

Modified: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java?view=diff&rev=489760&r1=489759&r2=489760
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java (original)
+++ jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java Fri Dec 22 12:56:04 2006
@@ -1,88 +1,88 @@
-/* ====================================================================
-   Copyright 2002-2004   Apache Software Foundation
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-==================================================================== */
-package org.apache.poi.hslf.model;
-
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.HSLFSlideShow;
-
-import java.awt.*;
-import java.awt.Rectangle;
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-
-/**
- * Test drawing shapes via Graphics2D
- *
- * @author Yegor Kozlov
- */
-public class TestPPGraphics2D extends TestCase {
-    private SlideShow ppt;
-
-    protected void setUp() throws Exception {
-		String dirname = System.getProperty("HSLF.testdata.path");
-		String filename = dirname + "/empty.ppt";
-		ppt = new SlideShow(new HSLFSlideShow(filename));
-    }
-
-    public void testGraphics() throws Exception {
-    	// Starts off empty
-    	assertEquals(0, ppt.getSlides().length);
-    	
-    	// Add a slide
-        Slide slide = ppt.createSlide();
-    	assertEquals(1, ppt.getSlides().length);
-
-    	// Add some stuff into it
-        ShapeGroup group = new ShapeGroup();
-        Dimension pgsize = ppt.getPageSize();
-        java.awt.Rectangle bounds = new java.awt.Rectangle(0, 0, (int)pgsize.getWidth(), (int)pgsize.getHeight());
-        group.setAnchor(bounds);
-        slide.addShape(group);
-
-        PPGraphics2D graphics = new PPGraphics2D(group);
-        graphics.setColor(Color.blue);
-        graphics.draw(new Rectangle(1296, 2544, 1344, 0));
-
-        graphics.setColor(Color.red);
-        graphics.setStroke(new BasicStroke((float)2.5));
-        graphics.drawLine(500, 500, 1500, 2500);
-
-        graphics.setColor(Color.green);
-        graphics.setPaint(Color.gray);
-        graphics.drawOval(4000, 1000, 1000, 1000);
-
-        // Write the file out
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        // And read it back in
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        assertEquals(1, ppt.getSlides().length);
-
-        slide = ppt.getSlides()[0];
-        Shape[] shape = slide.getShapes();
-        assertEquals(shape.length, 1); //group shape
-
-        assertTrue(shape[0] instanceof ShapeGroup); //group shape
-
-        group = (ShapeGroup)shape[0];
-        shape = group.getShapes();
-        assertEquals(shape.length, 7);
-    }
-
-}
+/* ====================================================================
+   Copyright 2002-2004   Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+package org.apache.poi.hslf.model;
+
+import junit.framework.TestCase;
+import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.HSLFSlideShow;
+
+import java.awt.*;
+import java.awt.Rectangle;
+import java.io.ByteArrayOutputStream;
+import java.io.ByteArrayInputStream;
+
+/**
+ * Test drawing shapes via Graphics2D
+ *
+ * @author Yegor Kozlov
+ */
+public class TestPPGraphics2D extends TestCase {
+    private SlideShow ppt;
+
+    protected void setUp() throws Exception {
+		String dirname = System.getProperty("HSLF.testdata.path");
+		String filename = dirname + "/empty.ppt";
+		ppt = new SlideShow(new HSLFSlideShow(filename));
+    }
+
+    public void testGraphics() throws Exception {
+    	// Starts off empty
+    	assertEquals(0, ppt.getSlides().length);
+    	
+    	// Add a slide
+        Slide slide = ppt.createSlide();
+    	assertEquals(1, ppt.getSlides().length);
+
+    	// Add some stuff into it
+        ShapeGroup group = new ShapeGroup();
+        Dimension pgsize = ppt.getPageSize();
+        java.awt.Rectangle bounds = new java.awt.Rectangle(0, 0, (int)pgsize.getWidth(), (int)pgsize.getHeight());
+        group.setAnchor(bounds);
+        slide.addShape(group);
+
+        PPGraphics2D graphics = new PPGraphics2D(group);
+        graphics.setColor(Color.blue);
+        graphics.draw(new Rectangle(1296, 2544, 1344, 0));
+
+        graphics.setColor(Color.red);
+        graphics.setStroke(new BasicStroke((float)2.5));
+        graphics.drawLine(500, 500, 1500, 2500);
+
+        graphics.setColor(Color.green);
+        graphics.setPaint(Color.gray);
+        graphics.drawOval(4000, 1000, 1000, 1000);
+
+        // Write the file out
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        // And read it back in
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+        assertEquals(1, ppt.getSlides().length);
+
+        slide = ppt.getSlides()[0];
+        Shape[] shape = slide.getShapes();
+        assertEquals(shape.length, 1); //group shape
+
+        assertTrue(shape[0] instanceof ShapeGroup); //group shape
+
+        group = (ShapeGroup)shape[0];
+        shape = group.getShapes();
+        assertEquals(shape.length, 7);
+    }
+
+}

Modified: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java?view=diff&rev=489760&r1=489759&r2=489760
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java (original)
+++ jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java Fri Dec 22 12:56:04 2006
@@ -1,83 +1,83 @@
-/* ====================================================================
-   Copyright 2002-2004   Apache Software Foundation
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-==================================================================== */
-package org.apache.poi.hslf.model;
-
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.HSLFSlideShow;
-
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-
-/**
- * Test setting text properties of newly added TextBoxes
- *
- * @author Yegor Kozlov
- */
-public class TestSetBoldItalic extends TestCase {
-    /**
-     * Verify that we can add TextBox shapes to a slide
-     * and set some of the style attributes
-     */
-    public void testTextBoxWrite() throws Exception {
-        //String dirname = System.getProperty("HSLF.testdata.path");
-        //String filename = dirname + "/with_textbox.ppt";
-        //new SlideShow(new HSLFSlideShow(filename));
-
-        SlideShow ppt = new SlideShow();
-        Slide sl = ppt.createSlide();
-        RichTextRun rt;
-
-        String val = "Hello, World!";
-
-        // Create a new textbox, and give it lots of properties
-        TextBox txtbox = new TextBox();
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
-        txtbox.setText(val);
-        rt.setFontSize(42);
-        rt.setBold(true);
-        rt.setItalic(true);
-        rt.setUnderlined(false);
-        sl.addShape(txtbox);
-
-        // Check it before save
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
-        assertEquals(val, rt.getText());
-        assertEquals(42, rt.getFontSize());
-        assertTrue(rt.isBold());
-        assertTrue(rt.isItalic());
-
-        // Serialize and read again
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        sl = ppt.getSlides()[0];
-
-        txtbox = (TextBox)sl.getShapes()[0];
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
-
-        // Check after save
-        assertEquals(val, rt.getText());
-        assertEquals(42, rt.getFontSize());
-        assertTrue(rt.isBold());
-        assertTrue(rt.isItalic());
-        assertFalse(rt.isUnderlined());
-    }
-
-}
+/* ====================================================================
+   Copyright 2002-2004   Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+package org.apache.poi.hslf.model;
+
+import junit.framework.TestCase;
+import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.hslf.HSLFSlideShow;
+
+import java.io.ByteArrayOutputStream;
+import java.io.ByteArrayInputStream;
+
+/**
+ * Test setting text properties of newly added TextBoxes
+ *
+ * @author Yegor Kozlov
+ */
+public class TestSetBoldItalic extends TestCase {
+    /**
+     * Verify that we can add TextBox shapes to a slide
+     * and set some of the style attributes
+     */
+    public void testTextBoxWrite() throws Exception {
+        //String dirname = System.getProperty("HSLF.testdata.path");
+        //String filename = dirname + "/with_textbox.ppt";
+        //new SlideShow(new HSLFSlideShow(filename));
+
+        SlideShow ppt = new SlideShow();
+        Slide sl = ppt.createSlide();
+        RichTextRun rt;
+
+        String val = "Hello, World!";
+
+        // Create a new textbox, and give it lots of properties
+        TextBox txtbox = new TextBox();
+        rt = txtbox.getTextRun().getRichTextRuns()[0];
+        txtbox.setText(val);
+        rt.setFontSize(42);
+        rt.setBold(true);
+        rt.setItalic(true);
+        rt.setUnderlined(false);
+        sl.addShape(txtbox);
+
+        // Check it before save
+        rt = txtbox.getTextRun().getRichTextRuns()[0];
+        assertEquals(val, rt.getText());
+        assertEquals(42, rt.getFontSize());
+        assertTrue(rt.isBold());
+        assertTrue(rt.isItalic());
+
+        // Serialize and read again
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+        sl = ppt.getSlides()[0];
+
+        txtbox = (TextBox)sl.getShapes()[0];
+        rt = txtbox.getTextRun().getRichTextRuns()[0];
+
+        // Check after save
+        assertEquals(val, rt.getText());
+        assertEquals(42, rt.getFontSize());
+        assertTrue(rt.isBold());
+        assertTrue(rt.isItalic());
+        assertFalse(rt.isUnderlined());
+    }
+
+}

Modified: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java?view=diff&rev=489760&r1=489759&r2=489760
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java (original)
+++ jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java Fri Dec 22 12:56:04 2006
@@ -1,226 +1,226 @@
-/* ====================================================================
-   Copyright 2002-2004   Apache Software Foundation
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-==================================================================== */
-package org.apache.poi.hslf.model;
-
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.HSLFSlideShow;
-
-import java.awt.*;
-import java.awt.Rectangle;
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-
-/**
- * Test drawing shapes via Graphics2D
- *
- * @author Yegor Kozlov
- */
-public class TestShapes extends TestCase {
-    private SlideShow ppt;
-    private SlideShow pptB;
-
-    protected void setUp() throws Exception {
-		String dirname = System.getProperty("HSLF.testdata.path");
-		String filename = dirname + "/empty.ppt";
-		ppt = new SlideShow(new HSLFSlideShow(filename));
-		
-		String filenameB = dirname + "/empty_textbox.ppt";
-		pptB = new SlideShow(new HSLFSlideShow(filenameB));
-    }
-
-    public void testGraphics() throws Exception {
-        Slide slide = ppt.createSlide();
-
-        Line line = new Line();
-        java.awt.Rectangle lineAnchor = new java.awt.Rectangle(100, 200, 50, 60);
-        line.setAnchor(lineAnchor);
-        line.setLineWidth(3);
-        line.setLineStyle(Line.PEN_DASH);
-        line.setLineColor(Color.red);
-        slide.addShape(line);
-
-        AutoShape ellipse = new AutoShape(ShapeTypes.Ellipse);
-        java.awt.Rectangle ellipseAnchor = new Rectangle(320, 154, 55, 111);
-        ellipse.setAnchor(ellipseAnchor);
-        ellipse.setLineWidth(2);
-        ellipse.setLineStyle(Line.PEN_SOLID);
-        ellipse.setLineColor(Color.green);
-        ellipse.setFillColor(Color.lightGray);
-        slide.addShape(ellipse);
-
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        //read ppt from byte array
-
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        assertEquals(1, ppt.getSlides().length);
-
-        slide = ppt.getSlides()[0];
-        Shape[] shape = slide.getShapes();
-        assertEquals(2, shape.length);
-
-        assertTrue(shape[0] instanceof Line); //group shape
-        assertEquals(lineAnchor, shape[0].getAnchor()); //group shape
-
-        assertTrue(shape[1] instanceof AutoShape); //group shape
-        assertEquals(ellipseAnchor, shape[1].getAnchor()); //group shape
-    }
-
-    /**
-     * Verify that we can read TextBox shapes
-     * @throws Exception
-     */
-    public void testTextBoxRead() throws Exception {
-        String dirname = System.getProperty("HSLF.testdata.path");
-        String filename = dirname + "/with_textbox.ppt";
-        ppt = new SlideShow(new HSLFSlideShow(filename));
-        Slide sl = ppt.getSlides()[0];
-        Shape[] sh = sl.getShapes();
-        for (int i = 0; i < sh.length; i++) {
-            assertTrue(sh[i] instanceof TextBox);
-            TextBox txtbox = (TextBox)sh[i];
-            String text = txtbox.getText();
-            assertNotNull(text);
-
-            assertEquals(txtbox.getTextRun().getRichTextRuns().length, 1);
-            RichTextRun rt = txtbox.getTextRun().getRichTextRuns()[0];
-
-            if (text.equals("Hello, World!!!")){
-                assertEquals(32, rt.getFontSize());
-                assertTrue(rt.isBold());
-                assertTrue(rt.isItalic());
-            } else if (text.equals("I am just a poor boy")){
-                assertEquals(44, rt.getFontSize());
-                assertTrue(rt.isBold());
-            } else if (text.equals("This is Times New Roman")){
-                assertEquals(16, rt.getFontSize());
-                assertTrue(rt.isBold());
-                assertTrue(rt.isItalic());
-                assertTrue(rt.isUnderlined());
-            } else if (text.equals("Plain Text")){
-                assertEquals(18, rt.getFontSize());
-            }
-        }
-    }
-
-    /**
-     * Verify that we can add TextBox shapes to a slide
-     * and set some of the style attributes
-     */
-    public void testTextBoxWriteBytes() throws Exception {
-        ppt = new SlideShow();
-        Slide sl = ppt.createSlide();
-        RichTextRun rt;
-
-        String val = "Hello, World!";
-
-        // Create a new textbox, and give it lots of properties
-        TextBox txtbox = new TextBox();
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
-        txtbox.setText(val);
-        rt.setFontName("Arial");
-        rt.setFontSize(42);
-        rt.setBold(true);
-        rt.setItalic(true);
-        rt.setUnderlined(false);
-        rt.setFontColor(Color.red);
-        sl.addShape(txtbox);
-
-        // Check it before save
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
-        assertEquals(val, rt.getText());
-        assertEquals(42, rt.getFontSize());
-        assertTrue(rt.isBold());
-        assertTrue(rt.isItalic());
-        assertFalse(rt.isUnderlined());
-        assertEquals("Arial", rt.getFontName());
-        assertEquals(Color.red, rt.getFontColor());
-
-        // Serialize and read again
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-
-        txtbox = (TextBox)sl.getShapes()[0];
-        rt = txtbox.getTextRun().getRichTextRuns()[0];
-
-        // Check after save
-        assertEquals(val, rt.getText());
-        assertEquals(42, rt.getFontSize());
-        assertTrue(rt.isBold());
-        assertTrue(rt.isItalic());
-        assertFalse(rt.isUnderlined());
-        assertEquals("Arial", rt.getFontName());
-        assertEquals(Color.red, rt.getFontColor());
-    }
-    
-    /**
-     * Test with an empty text box
-     */
-    public void testEmptyTextBox() throws Exception {
-    	assertEquals(2, pptB.getSlides().length);
-    	Slide s1 = pptB.getSlides()[0];
-    	Slide s2 = pptB.getSlides()[1];
-    	
-    	// Check we can get the shapes count
-    	assertEquals(2, s1.getShapes().length);
-    	assertEquals(2, s2.getShapes().length);
-    }
-
-    /**
-     * If you iterate over text shapes in a slide and collect them in a set
-     * it must be the same as returned by Slide.getTextRuns().
-     */
-    public void testTextBoxSet() throws Exception {
-        textBoxSet("/with_textbox.ppt");
-        textBoxSet("/basic_test_ppt_file.ppt");
-        textBoxSet("/next_test_ppt_file.ppt");
-        textBoxSet("/Single_Coloured_Page.ppt");
-        textBoxSet("/Single_Coloured_Page_With_Fonts_and_Alignments.ppt");
-        textBoxSet("/incorrect_slide_order.ppt");
-    }
-
-    private void textBoxSet(String filename) throws Exception {
-        String dirname = System.getProperty("HSLF.testdata.path");
-        SlideShow ppt = new SlideShow(new HSLFSlideShow(dirname + filename));
-        Slide[] sl = ppt.getSlides();
-        for (int k = 0; k < sl.length; k++) {
-            ArrayList lst1 = new ArrayList();
-            TextRun[] txt = sl[k].getTextRuns();
-            for (int i = 0; i < txt.length; i++) {
-                lst1.add(txt[i].getText());
-            }
-
-            ArrayList lst2 = new ArrayList();
-            Shape[] sh = sl[k].getShapes();
-            for (int i = 0; i < sh.length; i++) {
-                if (sh[i] instanceof TextBox){
-                    TextBox tbox = (TextBox)sh[i];
-                    lst2.add(tbox.getText());
-                }
-            }
-            assertTrue(lst1.containsAll(lst2));
-            assertTrue(lst2.containsAll(lst1));
-        }
-    }
-}
+/* ====================================================================
+   Copyright 2002-2004   Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+package org.apache.poi.hslf.model;
+
+import junit.framework.TestCase;
+import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.hslf.HSLFSlideShow;
+
+import java.awt.*;
+import java.awt.Rectangle;
+import java.io.ByteArrayOutputStream;
+import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
+
+/**
+ * Test drawing shapes via Graphics2D
+ *
+ * @author Yegor Kozlov
+ */
+public class TestShapes extends TestCase {
+    private SlideShow ppt;
+    private SlideShow pptB;
+
+    protected void setUp() throws Exception {
+		String dirname = System.getProperty("HSLF.testdata.path");
+		String filename = dirname + "/empty.ppt";
+		ppt = new SlideShow(new HSLFSlideShow(filename));
+		
+		String filenameB = dirname + "/empty_textbox.ppt";
+		pptB = new SlideShow(new HSLFSlideShow(filenameB));
+    }
+
+    public void testGraphics() throws Exception {
+        Slide slide = ppt.createSlide();
+
+        Line line = new Line();
+        java.awt.Rectangle lineAnchor = new java.awt.Rectangle(100, 200, 50, 60);
+        line.setAnchor(lineAnchor);
+        line.setLineWidth(3);
+        line.setLineStyle(Line.PEN_DASH);
+        line.setLineColor(Color.red);
+        slide.addShape(line);
+
+        AutoShape ellipse = new AutoShape(ShapeTypes.Ellipse);
+        java.awt.Rectangle ellipseAnchor = new Rectangle(320, 154, 55, 111);
+        ellipse.setAnchor(ellipseAnchor);
+        ellipse.setLineWidth(2);
+        ellipse.setLineStyle(Line.PEN_SOLID);
+        ellipse.setLineColor(Color.green);
+        ellipse.setFillColor(Color.lightGray);
+        slide.addShape(ellipse);
+
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        //read ppt from byte array
+
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+        assertEquals(1, ppt.getSlides().length);
+
+        slide = ppt.getSlides()[0];
+        Shape[] shape = slide.getShapes();
+        assertEquals(2, shape.length);
+
+        assertTrue(shape[0] instanceof Line); //group shape
+        assertEquals(lineAnchor, shape[0].getAnchor()); //group shape
+
+        assertTrue(shape[1] instanceof AutoShape); //group shape
+        assertEquals(ellipseAnchor, shape[1].getAnchor()); //group shape
+    }
+
+    /**
+     * Verify that we can read TextBox shapes
+     * @throws Exception
+     */
+    public void testTextBoxRead() throws Exception {
+        String dirname = System.getProperty("HSLF.testdata.path");
+        String filename = dirname + "/with_textbox.ppt";
+        ppt = new SlideShow(new HSLFSlideShow(filename));
+        Slide sl = ppt.getSlides()[0];
+        Shape[] sh = sl.getShapes();
+        for (int i = 0; i < sh.length; i++) {
+            assertTrue(sh[i] instanceof TextBox);
+            TextBox txtbox = (TextBox)sh[i];
+            String text = txtbox.getText();
+            assertNotNull(text);
+
+            assertEquals(txtbox.getTextRun().getRichTextRuns().length, 1);
+            RichTextRun rt = txtbox.getTextRun().getRichTextRuns()[0];
+
+            if (text.equals("Hello, World!!!")){
+                assertEquals(32, rt.getFontSize());
+                assertTrue(rt.isBold());
+                assertTrue(rt.isItalic());
+            } else if (text.equals("I am just a poor boy")){
+                assertEquals(44, rt.getFontSize());
+                assertTrue(rt.isBold());
+            } else if (text.equals("This is Times New Roman")){
+                assertEquals(16, rt.getFontSize());
+                assertTrue(rt.isBold());
+                assertTrue(rt.isItalic());
+                assertTrue(rt.isUnderlined());
+            } else if (text.equals("Plain Text")){
+                assertEquals(18, rt.getFontSize());
+            }
+        }
+    }
+
+    /**
+     * Verify that we can add TextBox shapes to a slide
+     * and set some of the style attributes
+     */
+    public void testTextBoxWriteBytes() throws Exception {
+        ppt = new SlideShow();
+        Slide sl = ppt.createSlide();
+        RichTextRun rt;
+
+        String val = "Hello, World!";
+
+        // Create a new textbox, and give it lots of properties
+        TextBox txtbox = new TextBox();
+        rt = txtbox.getTextRun().getRichTextRuns()[0];
+        txtbox.setText(val);
+        rt.setFontName("Arial");
+        rt.setFontSize(42);
+        rt.setBold(true);
+        rt.setItalic(true);
+        rt.setUnderlined(false);
+        rt.setFontColor(Color.red);
+        sl.addShape(txtbox);
+
+        // Check it before save
+        rt = txtbox.getTextRun().getRichTextRuns()[0];
+        assertEquals(val, rt.getText());
+        assertEquals(42, rt.getFontSize());
+        assertTrue(rt.isBold());
+        assertTrue(rt.isItalic());
+        assertFalse(rt.isUnderlined());
+        assertEquals("Arial", rt.getFontName());
+        assertEquals(Color.red, rt.getFontColor());
+
+        // Serialize and read again
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+
+        txtbox = (TextBox)sl.getShapes()[0];
+        rt = txtbox.getTextRun().getRichTextRuns()[0];
+
+        // Check after save
+        assertEquals(val, rt.getText());
+        assertEquals(42, rt.getFontSize());
+        assertTrue(rt.isBold());
+        assertTrue(rt.isItalic());
+        assertFalse(rt.isUnderlined());
+        assertEquals("Arial", rt.getFontName());
+        assertEquals(Color.red, rt.getFontColor());
+    }
+    
+    /**
+     * Test with an empty text box
+     */
+    public void testEmptyTextBox() throws Exception {
+    	assertEquals(2, pptB.getSlides().length);
+    	Slide s1 = pptB.getSlides()[0];
+    	Slide s2 = pptB.getSlides()[1];
+    	
+    	// Check we can get the shapes count
+    	assertEquals(2, s1.getShapes().length);
+    	assertEquals(2, s2.getShapes().length);
+    }
+
+    /**
+     * If you iterate over text shapes in a slide and collect them in a set
+     * it must be the same as returned by Slide.getTextRuns().
+     */
+    public void testTextBoxSet() throws Exception {
+        textBoxSet("/with_textbox.ppt");
+        textBoxSet("/basic_test_ppt_file.ppt");
+        textBoxSet("/next_test_ppt_file.ppt");
+        textBoxSet("/Single_Coloured_Page.ppt");
+        textBoxSet("/Single_Coloured_Page_With_Fonts_and_Alignments.ppt");
+        textBoxSet("/incorrect_slide_order.ppt");
+    }
+
+    private void textBoxSet(String filename) throws Exception {
+        String dirname = System.getProperty("HSLF.testdata.path");
+        SlideShow ppt = new SlideShow(new HSLFSlideShow(dirname + filename));
+        Slide[] sl = ppt.getSlides();
+        for (int k = 0; k < sl.length; k++) {
+            ArrayList lst1 = new ArrayList();
+            TextRun[] txt = sl[k].getTextRuns();
+            for (int i = 0; i < txt.length; i++) {
+                lst1.add(txt[i].getText());
+            }
+
+            ArrayList lst2 = new ArrayList();
+            Shape[] sh = sl[k].getShapes();
+            for (int i = 0; i < sh.length; i++) {
+                if (sh[i] instanceof TextBox){
+                    TextBox tbox = (TextBox)sh[i];
+                    lst2.add(tbox.getText());
+                }
+            }
+            assertTrue(lst1.containsAll(lst2));
+            assertTrue(lst2.containsAll(lst1));
+        }
+    }
+}

Modified: jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlides.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlides.java?view=diff&rev=489760&r1=489759&r2=489760
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlides.java (original)
+++ jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlides.java Fri Dec 22 12:56:04 2006
@@ -1,183 +1,183 @@
-/* ====================================================================
-   Copyright 2002-2004   Apache Software Foundation
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-==================================================================== */
-
-package org.apache.poi.hslf.model;
-
-import junit.framework.TestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.SlideShow;
-
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-
-/**
- * Test adding new slides to a ppt.
- * 
- * Note - uses the same empty PPT file as the core "new Slideshow" 
- *  stuff does
- * @author Yegor Kozlov
- */
-public class TestSlides extends TestCase {
-
-    /**
-     * Add 1 slide to an empty ppt.
-     * @throws Exception
-     */
-    public void testAddSlides1() throws Exception {
-        SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
-        assertTrue(ppt.getSlides().length == 0);
-        
-        Slide s1 = ppt.createSlide();
-        assertTrue(ppt.getSlides().length == 1);
-        assertEquals(3, s1._getSheetRefId());
-        assertEquals(256, s1._getSheetNumber());
-        assertEquals(1, s1.getSlideNumber());
-
-        //serialize and read again
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        assertTrue(ppt.getSlides().length == 1);
-    }
-
-    /**
-     * Add 2 slides to an empty ppt
-     * @throws Exception
-     */
-    public void testAddSlides2() throws Exception {
-        SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
-        assertTrue(ppt.getSlides().length == 0);
-        
-        Slide s1 = ppt.createSlide();
-        assertTrue(ppt.getSlides().length == 1);
-        assertEquals(3, s1._getSheetRefId());
-        assertEquals(256, s1._getSheetNumber());
-        assertEquals(1, s1.getSlideNumber());
-        
-        Slide s2 = ppt.createSlide();
-        assertTrue(ppt.getSlides().length == 2);
-        assertEquals(4, s2._getSheetRefId());
-        assertEquals(257, s2._getSheetNumber());
-        assertEquals(2, s2.getSlideNumber());
-
-        //serialize and read again
-         ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        assertTrue(ppt.getSlides().length == 2);
-    }
-
-    /**
-     * Add 3 slides to an empty ppt
-     * @throws Exception
-     */
-    public void testAddSlides3() throws Exception {
-        SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
-        assertTrue(ppt.getSlides().length == 0);
-        
-        Slide s1 = ppt.createSlide();
-        assertTrue(ppt.getSlides().length == 1);
-        assertEquals(3, s1._getSheetRefId());
-        assertEquals(256, s1._getSheetNumber());
-        assertEquals(1, s1.getSlideNumber());
-        
-        Slide s2 = ppt.createSlide();
-        assertTrue(ppt.getSlides().length == 2);
-        assertEquals(4, s2._getSheetRefId());
-        assertEquals(257, s2._getSheetNumber());
-        assertEquals(2, s2.getSlideNumber());
-
-        Slide s3 = ppt.createSlide();
-        assertTrue(ppt.getSlides().length == 3);
-        assertEquals(5, s3._getSheetRefId());
-        assertEquals(258, s3._getSheetNumber());
-        assertEquals(3, s3.getSlideNumber());
-
-        
-        //serialize and read again
-         ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        assertTrue(ppt.getSlides().length == 3);
-        
-        // Check IDs are still right
-        s1 = ppt.getSlides()[0];
-        assertEquals(256, s1._getSheetNumber());
-        assertEquals(3, s1._getSheetRefId());
-        s2 = ppt.getSlides()[1];
-        assertEquals(257, s2._getSheetNumber());
-        assertEquals(4, s2._getSheetRefId());
-        s3 = ppt.getSlides()[2];;
-        assertTrue(ppt.getSlides().length == 3);
-        assertEquals(258, s3._getSheetNumber());
-        assertEquals(5, s3._getSheetRefId());
-    }
-
-    /**
-     * Add slides to ppt which already has two slides
-     */
-    public void testAddSlides2to3() throws Exception {
-		String dirname = System.getProperty("HSLF.testdata.path");
-        SlideShow ppt = new SlideShow(new HSLFSlideShow(dirname + "/basic_test_ppt_file.ppt"));
-        
-        assertTrue(ppt.getSlides().length == 2);
-        
-        // First slide is 256 / 4
-        Slide s1 = ppt.getSlides()[0];
-        assertEquals(256, s1._getSheetNumber());
-        assertEquals(4, s1._getSheetRefId());
-        
-        // Last slide is 257 / 6
-        Slide s2 = ppt.getSlides()[1];
-        assertEquals(257, s2._getSheetNumber());
-        assertEquals(6, s2._getSheetRefId());
-        
-        // Add another slide, goes in at the end
-        Slide s3 = ppt.createSlide();
-        assertTrue(ppt.getSlides().length == 3);
-        assertEquals(258, s3._getSheetNumber());
-        assertEquals(8, s3._getSheetRefId());
-
-        
-        // Serialize and read again
-         ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ppt.write(out);
-        out.close();
-
-        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
-        assertTrue(ppt.getSlides().length == 3);
-        
-        
-        // Check IDs are still right
-        s1 = ppt.getSlides()[0];
-        assertEquals(256, s1._getSheetNumber());
-        assertEquals(4, s1._getSheetRefId());
-        s2 = ppt.getSlides()[1];
-        assertEquals(257, s2._getSheetNumber());
-        assertEquals(6, s2._getSheetRefId());
-        s3 = ppt.getSlides()[2];;
-        assertTrue(ppt.getSlides().length == 3);
-        assertEquals(258, s3._getSheetNumber());
-        assertEquals(8, s3._getSheetRefId());
-    }
-
-}
+/* ====================================================================
+   Copyright 2002-2004   Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
+package org.apache.poi.hslf.model;
+
+import junit.framework.TestCase;
+import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.usermodel.SlideShow;
+
+import java.io.ByteArrayOutputStream;
+import java.io.ByteArrayInputStream;
+
+/**
+ * Test adding new slides to a ppt.
+ * 
+ * Note - uses the same empty PPT file as the core "new Slideshow" 
+ *  stuff does
+ * @author Yegor Kozlov
+ */
+public class TestSlides extends TestCase {
+
+    /**
+     * Add 1 slide to an empty ppt.
+     * @throws Exception
+     */
+    public void testAddSlides1() throws Exception {
+        SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
+        assertTrue(ppt.getSlides().length == 0);
+        
+        Slide s1 = ppt.createSlide();
+        assertTrue(ppt.getSlides().length == 1);
+        assertEquals(3, s1._getSheetRefId());
+        assertEquals(256, s1._getSheetNumber());
+        assertEquals(1, s1.getSlideNumber());
+
+        //serialize and read again
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+        assertTrue(ppt.getSlides().length == 1);
+    }
+
+    /**
+     * Add 2 slides to an empty ppt
+     * @throws Exception
+     */
+    public void testAddSlides2() throws Exception {
+        SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
+        assertTrue(ppt.getSlides().length == 0);
+        
+        Slide s1 = ppt.createSlide();
+        assertTrue(ppt.getSlides().length == 1);
+        assertEquals(3, s1._getSheetRefId());
+        assertEquals(256, s1._getSheetNumber());
+        assertEquals(1, s1.getSlideNumber());
+        
+        Slide s2 = ppt.createSlide();
+        assertTrue(ppt.getSlides().length == 2);
+        assertEquals(4, s2._getSheetRefId());
+        assertEquals(257, s2._getSheetNumber());
+        assertEquals(2, s2.getSlideNumber());
+
+        //serialize and read again
+         ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+        assertTrue(ppt.getSlides().length == 2);
+    }
+
+    /**
+     * Add 3 slides to an empty ppt
+     * @throws Exception
+     */
+    public void testAddSlides3() throws Exception {
+        SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
+        assertTrue(ppt.getSlides().length == 0);
+        
+        Slide s1 = ppt.createSlide();
+        assertTrue(ppt.getSlides().length == 1);
+        assertEquals(3, s1._getSheetRefId());
+        assertEquals(256, s1._getSheetNumber());
+        assertEquals(1, s1.getSlideNumber());
+        
+        Slide s2 = ppt.createSlide();
+        assertTrue(ppt.getSlides().length == 2);
+        assertEquals(4, s2._getSheetRefId());
+        assertEquals(257, s2._getSheetNumber());
+        assertEquals(2, s2.getSlideNumber());
+
+        Slide s3 = ppt.createSlide();
+        assertTrue(ppt.getSlides().length == 3);
+        assertEquals(5, s3._getSheetRefId());
+        assertEquals(258, s3._getSheetNumber());
+        assertEquals(3, s3.getSlideNumber());
+
+        
+        //serialize and read again
+         ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+        assertTrue(ppt.getSlides().length == 3);
+        
+        // Check IDs are still right
+        s1 = ppt.getSlides()[0];
+        assertEquals(256, s1._getSheetNumber());
+        assertEquals(3, s1._getSheetRefId());
+        s2 = ppt.getSlides()[1];
+        assertEquals(257, s2._getSheetNumber());
+        assertEquals(4, s2._getSheetRefId());
+        s3 = ppt.getSlides()[2];;
+        assertTrue(ppt.getSlides().length == 3);
+        assertEquals(258, s3._getSheetNumber());
+        assertEquals(5, s3._getSheetRefId());
+    }
+
+    /**
+     * Add slides to ppt which already has two slides
+     */
+    public void testAddSlides2to3() throws Exception {
+		String dirname = System.getProperty("HSLF.testdata.path");
+        SlideShow ppt = new SlideShow(new HSLFSlideShow(dirname + "/basic_test_ppt_file.ppt"));
+        
+        assertTrue(ppt.getSlides().length == 2);
+        
+        // First slide is 256 / 4
+        Slide s1 = ppt.getSlides()[0];
+        assertEquals(256, s1._getSheetNumber());
+        assertEquals(4, s1._getSheetRefId());
+        
+        // Last slide is 257 / 6
+        Slide s2 = ppt.getSlides()[1];
+        assertEquals(257, s2._getSheetNumber());
+        assertEquals(6, s2._getSheetRefId());
+        
+        // Add another slide, goes in at the end
+        Slide s3 = ppt.createSlide();
+        assertTrue(ppt.getSlides().length == 3);
+        assertEquals(258, s3._getSheetNumber());
+        assertEquals(8, s3._getSheetRefId());
+
+        
+        // Serialize and read again
+         ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ppt.write(out);
+        out.close();
+
+        ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+        assertTrue(ppt.getSlides().length == 3);
+        
+        
+        // Check IDs are still right
+        s1 = ppt.getSlides()[0];
+        assertEquals(256, s1._getSheetNumber());
+        assertEquals(4, s1._getSheetRefId());
+        s2 = ppt.getSlides()[1];
+        assertEquals(257, s2._getSheetNumber());
+        assertEquals(6, s2._getSheetRefId());
+        s3 = ppt.getSlides()[2];;
+        assertTrue(ppt.getSlides().length == 3);
+        assertEquals(258, s3._getSheetNumber());
+        assertEquals(8, s3._getSheetRefId());
+    }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/