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/