You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2015/07/24 23:47:58 UTC
svn commit: r1692593 [13/17] - in /poi:
site/src/documentation/content/xdocs/ trunk/
trunk/src/examples/src/org/apache/poi/hslf/examples/
trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/
trunk/src/examples/src/org/apache/poi/xslf/usermode...
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestBackground.java Fri Jul 24 21:47:55 2015
@@ -32,9 +32,9 @@ import org.apache.poi.ddf.EscherOptRecor
import org.apache.poi.ddf.EscherProperties;
import org.apache.poi.ddf.EscherRecord;
import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.record.Document;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.*;
+import org.apache.poi.sl.usermodel.ShapeType;
import org.junit.Test;
@@ -51,16 +51,16 @@ public final class TestBackground {
*/
@Test
public void defaults() {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- assertEquals(Fill.FILL_SOLID, ppt.getSlidesMasters()[0].getBackground().getFill().getFillType());
+ assertEquals(HSLFFill.FILL_SOLID, ppt.getSlideMasters().get(0).getBackground().getFill().getFillType());
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
assertTrue(slide.getFollowMasterBackground());
- assertEquals(Fill.FILL_SOLID, slide.getBackground().getFill().getFillType());
+ assertEquals(HSLFFill.FILL_SOLID, slide.getBackground().getFill().getFillType());
- Shape shape = new AutoShape(ShapeTypes.Rectangle);
- assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
+ HSLFShape shape = new HSLFAutoShape(ShapeType.RECT);
+ assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
}
/**
@@ -68,31 +68,31 @@ public final class TestBackground {
*/
@Test
public void readBackground() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("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());
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("backgrounds.ppt"));
+ HSLFFill fill;
+ HSLFShape shape;
+
+ List<HSLFSlide> slide = ppt.getSlides();
+
+ fill = slide.get(0).getBackground().getFill();
+ assertEquals(HSLFFill.FILL_PICTURE, fill.getFillType());
+ shape = slide.get(0).getShapes().get(0);
+ assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
+
+ fill = slide.get(1).getBackground().getFill();
+ assertEquals(HSLFFill.FILL_PATTERN, fill.getFillType());
+ shape = slide.get(1).getShapes().get(0);
+ assertEquals(HSLFFill.FILL_BACKGROUND, shape.getFill().getFillType());
+
+ fill = slide.get(2).getBackground().getFill();
+ assertEquals(HSLFFill.FILL_TEXTURE, fill.getFillType());
+ shape = slide.get(2).getShapes().get(0);
+ assertEquals(HSLFFill.FILL_PICTURE, shape.getFill().getFillType());
+
+ fill = slide.get(3).getBackground().getFill();
+ assertEquals(HSLFFill.FILL_SHADE_CENTER, fill.getFillType());
+ shape = slide.get(3).getShapes().get(0);
+ assertEquals(HSLFFill.FILL_SHADE, shape.getFill().getFillType());
}
/**
@@ -100,55 +100,55 @@ public final class TestBackground {
*/
@Test
public void backgroundPicture() throws Exception {
- SlideShow ppt = new SlideShow();
- Slide slide;
- Fill fill;
- Shape shape;
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide;
+ HSLFFill fill;
+ HSLFShape shape;
int idx;
//slide 1
slide = ppt.createSlide();
slide.setFollowMasterBackground(false);
fill = slide.getBackground().getFill();
- idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
- fill.setFillType(Fill.FILL_PICTURE);
+ idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+ fill.setFillType(HSLFFill.FILL_PICTURE);
fill.setPictureData(idx);
- shape = new AutoShape(ShapeTypes.Rectangle);
+ shape = new HSLFAutoShape(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
fill = shape.getFill();
- fill.setFillType(Fill.FILL_SOLID);
+ fill.setFillType(HSLFFill.FILL_SOLID);
slide.addShape(shape);
//slide 2
slide = ppt.createSlide();
slide.setFollowMasterBackground(false);
fill = slide.getBackground().getFill();
- idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
- fill.setFillType(Fill.FILL_PATTERN);
+ idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+ fill.setFillType(HSLFFill.FILL_PATTERN);
fill.setPictureData(idx);
fill.setBackgroundColor(Color.green);
fill.setForegroundColor(Color.red);
- shape = new AutoShape(ShapeTypes.Rectangle);
+ shape = new HSLFAutoShape(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
fill = shape.getFill();
- fill.setFillType(Fill.FILL_BACKGROUND);
+ fill.setFillType(HSLFFill.FILL_BACKGROUND);
slide.addShape(shape);
//slide 3
slide = ppt.createSlide();
slide.setFollowMasterBackground(false);
fill = slide.getBackground().getFill();
- idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
- fill.setFillType(Fill.FILL_TEXTURE);
+ idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+ fill.setFillType(HSLFFill.FILL_TEXTURE);
fill.setPictureData(idx);
- shape = new AutoShape(ShapeTypes.Rectangle);
+ shape = new HSLFAutoShape(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
fill = shape.getFill();
- fill.setFillType(Fill.FILL_PICTURE);
- idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
+ fill.setFillType(HSLFFill.FILL_PICTURE);
+ idx = ppt.addPicture(_slTests.readFile("clock.jpg"), HSLFPictureShape.JPEG);
fill.setPictureData(idx);
slide.addShape(shape);
@@ -156,14 +156,14 @@ public final class TestBackground {
slide = ppt.createSlide();
slide.setFollowMasterBackground(false);
fill = slide.getBackground().getFill();
- fill.setFillType(Fill.FILL_SHADE_CENTER);
+ fill.setFillType(HSLFFill.FILL_SHADE_CENTER);
fill.setBackgroundColor(Color.white);
fill.setForegroundColor(Color.darkGray);
- shape = new AutoShape(ShapeTypes.Rectangle);
+ shape = new HSLFAutoShape(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
fill = shape.getFill();
- fill.setFillType(Fill.FILL_SHADE);
+ fill.setFillType(HSLFFill.FILL_SHADE);
fill.setBackgroundColor(Color.red);
fill.setForegroundColor(Color.green);
slide.addShape(shape);
@@ -173,45 +173,45 @@ public final class TestBackground {
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
- Slide[] slides = ppt.getSlides();
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+ List<HSLFSlide> slides = ppt.getSlides();
- fill = slides[0].getBackground().getFill();
- assertEquals(Fill.FILL_PICTURE, fill.getFillType());
- assertEquals(3, getFillPictureRefCount(slides[0].getBackground(), fill));
- 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());
- assertEquals(3, getFillPictureRefCount(slides[2].getBackground(), fill));
- shape = slides[2].getShapes()[0];
- assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
+ fill = slides.get(0).getBackground().getFill();
+ assertEquals(HSLFFill.FILL_PICTURE, fill.getFillType());
+ assertEquals(3, getFillPictureRefCount(slides.get(0).getBackground(), fill));
+ shape = slides.get(0).getShapes().get(0);
+ assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
+
+ fill = slides.get(1).getBackground().getFill();
+ assertEquals(HSLFFill.FILL_PATTERN, fill.getFillType());
+ shape = slides.get(1).getShapes().get(0);
+ assertEquals(HSLFFill.FILL_BACKGROUND, shape.getFill().getFillType());
+
+ fill = slides.get(2).getBackground().getFill();
+ assertEquals(HSLFFill.FILL_TEXTURE, fill.getFillType());
+ assertEquals(3, getFillPictureRefCount(slides.get(2).getBackground(), fill));
+ shape = slides.get(2).getShapes().get(0);
+ assertEquals(HSLFFill.FILL_PICTURE, shape.getFill().getFillType());
assertEquals(1, getFillPictureRefCount(shape, fill));
- fill = slides[3].getBackground().getFill();
- assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
- shape = slides[3].getShapes()[0];
- assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
+ fill = slides.get(3).getBackground().getFill();
+ assertEquals(HSLFFill.FILL_SHADE_CENTER, fill.getFillType());
+ shape = slides.get(3).getShapes().get(0);
+ assertEquals(HSLFFill.FILL_SHADE, shape.getFill().getFillType());
}
- private int getFillPictureRefCount(Shape shape, Fill fill) {
+ private int getFillPictureRefCount(HSLFShape shape, HSLFFill fill) {
EscherOptRecord opt = shape.getEscherOptRecord();
- EscherSimpleProperty p = Shape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
+ EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
if(p != null) {
int idx = p.getPropertyValue();
- Sheet sheet = shape.getSheet();
- SlideShow ppt = sheet.getSlideShow();
+ HSLFSheet sheet = shape.getSheet();
+ HSLFSlideShow ppt = sheet.getSlideShow();
Document doc = ppt.getDocumentRecord();
EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
- EscherContainerRecord bstore = Shape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
+ EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
List<EscherRecord> lst = bstore.getChildRecords();
return ((EscherBSERecord)lst.get(idx-1)).getRef();
}
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java Fri Jul 24 21:47:55 2015
@@ -17,12 +17,13 @@
package org.apache.poi.hslf.model;
-import java.awt.geom.Area;
-import java.awt.geom.GeneralPath;
-import java.awt.geom.Line2D;
-import java.awt.geom.Rectangle2D;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
-import junit.framework.TestCase;
+import java.awt.geom.*;
+
+import org.apache.poi.hslf.usermodel.HSLFFreeformShape;
+import org.junit.Test;
/**
* Test Freeform object.
@@ -32,8 +33,9 @@ import junit.framework.TestCase;
*
* @author Yegor Kozlov
*/
-public final class TestFreeform extends TestCase {
+public final class TestFreeform {
+ @Test
public void testClosedPath() {
GeneralPath path1 = new GeneralPath();
@@ -43,32 +45,34 @@ public final class TestFreeform extends
path1.lineTo(100, 200);
path1.closePath();
- Freeform p = new Freeform();
+ HSLFFreeformShape p = new HSLFFreeformShape();
p.setPath(path1);
- java.awt.Shape path2 = p.getOutline();
+ java.awt.Shape path2 = p.getPath();
assertTrue(new Area(path1).equals(new Area(path2)));
}
+ @Test
public void testLine() {
GeneralPath path1 = new GeneralPath(new Line2D.Double(100, 100, 200, 100));
- Freeform p = new Freeform();
+ HSLFFreeformShape p = new HSLFFreeformShape();
p.setPath(path1);
- java.awt.Shape path2 = p.getOutline();
+ java.awt.Shape path2 = p.getPath();
assertTrue(new Area(path1).equals(new Area(path2)));
}
+ @Test
public void testRectangle() {
GeneralPath path1 = new GeneralPath(new Rectangle2D.Double(100, 100, 200, 50));
- Freeform p = new Freeform();
+ HSLFFreeformShape p = new HSLFFreeformShape();
p.setPath(path1);
- java.awt.Shape path2 = p.getOutline();
+ java.awt.Shape path2 = p.getPath();
assertTrue(new Area(path1).equals(new Area(path2)));
}
@@ -76,10 +80,11 @@ public final class TestFreeform extends
* Avoid NPE in Freeform.getOutline() if either GEOMETRY__VERTICES or
* GEOMETRY__SEGMENTINFO is missing, see Bugzilla 54188
*/
+ @Test
public void test54188() {
- Freeform p = new Freeform();
- GeneralPath path = (GeneralPath)p.getOutline();
+ HSLFFreeformShape p = new HSLFFreeformShape();
+ GeneralPath path = p.getPath();
GeneralPath emptyPath = new GeneralPath();
assertEquals(emptyPath.getBounds2D(), path.getBounds2D());
}
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHeadersFooters.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHeadersFooters.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHeadersFooters.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHeadersFooters.java Fri Jul 24 21:47:55 2015
@@ -17,23 +17,28 @@
package org.apache.poi.hslf.model;
-import java.io.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.POIDataSamples;
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.List;
-import junit.framework.TestCase;
+import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.HSLFSlide;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.junit.Test;
/**
* Test {@link org.apache.poi.hslf.model.HeadersFooters} object
*/
-public final class TestHeadersFooters extends TestCase
+public final class TestHeadersFooters
{
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
- public void testRead() throws Exception
- {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("headers_footers.ppt"));
+ @Test
+ public void testRead() throws Exception {
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("headers_footers.ppt"));
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
assertTrue(slideHdd.isFooterVisible());
@@ -53,9 +58,9 @@ public final class TestHeadersFooters ex
assertTrue(notesHdd.isUserDateVisible());
assertNull(notesHdd.getDateTimeText());
- Slide[] slide = ppt.getSlides();
+ List<HSLFSlide> slide = ppt.getSlides();
//the first slide uses presentation-scope headers / footers
- HeadersFooters hd1 = slide[0].getHeadersFooters();
+ HeadersFooters hd1 = slide.get(0).getHeadersFooters();
assertEquals(slideHdd.isFooterVisible(), hd1.isFooterVisible());
assertEquals(slideHdd.getFooterText(), hd1.getFooterText());
assertEquals(slideHdd.isSlideNumberVisible(), hd1.isSlideNumberVisible());
@@ -65,7 +70,7 @@ public final class TestHeadersFooters ex
assertEquals(slideHdd.getDateTimeText(), hd1.getDateTimeText());
//the first slide uses per-slide headers / footers
- HeadersFooters hd2 = slide[1].getHeadersFooters();
+ HeadersFooters hd2 = slide.get(1).getHeadersFooters();
assertEquals(true, hd2.isFooterVisible());
assertEquals("per-slide footer", hd2.getFooterText());
assertEquals(true, hd2.isUserDateVisible());
@@ -75,9 +80,9 @@ public final class TestHeadersFooters ex
/**
* If Headers / Footers are not set, all the getters should return <code>false</code> or <code>null</code>
*/
- public void testReadNoHeadersFooters() throws Exception
- {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ @Test
+ public void testReadNoHeadersFooters() throws Exception {
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
assertFalse(slideHdd.isFooterVisible());
@@ -97,9 +102,8 @@ public final class TestHeadersFooters ex
assertFalse(notesHdd.isUserDateVisible());
assertNull(notesHdd.getDateTimeText());
- Slide[] slide = ppt.getSlides();
- for(int i=0 ; i < slide.length; i++){
- HeadersFooters hd1 = slide[i].getHeadersFooters();
+ for(HSLFSlide s : ppt.getSlides()) {
+ HeadersFooters hd1 = s.getHeadersFooters();
assertFalse(hd1.isFooterVisible());
assertNull(hd1.getFooterText());
assertFalse(hd1.isHeaderVisible());
@@ -112,9 +116,9 @@ public final class TestHeadersFooters ex
/**
* Test extraction of headers / footers from PPTs saved in Office 2007
*/
- public void testRead2007() throws Exception
- {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("headers_footers_2007.ppt"));
+ @Test
+ public void testRead2007() throws Exception {
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("headers_footers_2007.ppt"));
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
assertTrue(slideHdd.isFooterVisible());
@@ -137,9 +141,9 @@ public final class TestHeadersFooters ex
//assertEquals("08/12/08", notesHdd.getDateTimeText());
//per-slide headers / footers
- Slide[] slide = ppt.getSlides();
+ List<HSLFSlide> slide = ppt.getSlides();
//the first slide uses presentation-scope headers / footers
- HeadersFooters hd1 = slide[0].getHeadersFooters();
+ HeadersFooters hd1 = slide.get(0).getHeadersFooters();
assertTrue(hd1.isFooterVisible());
assertEquals("THE FOOTER TEXT", hd1.getFooterText());
assertTrue(hd1.isSlideNumberVisible());
@@ -150,7 +154,7 @@ public final class TestHeadersFooters ex
assertEquals("Wednesday, August 06, 2008", hd1.getDateTimeText());
//the second slide uses custom per-slide headers / footers
- HeadersFooters hd2 = slide[1].getHeadersFooters();
+ HeadersFooters hd2 = slide.get(1).getHeadersFooters();
assertTrue(hd2.isFooterVisible());
assertEquals("THE FOOTER TEXT FOR SLIDE 2", hd2.getFooterText());
assertTrue(hd2.isSlideNumberVisible());
@@ -161,7 +165,7 @@ public final class TestHeadersFooters ex
assertEquals("August 06, 2008", hd2.getDateTimeText());
//the third slide uses per-slide headers / footers
- HeadersFooters hd3 = slide[2].getHeadersFooters();
+ HeadersFooters hd3 = slide.get(2).getHeadersFooters();
assertTrue(hd3.isFooterVisible());
assertEquals("THE FOOTER TEXT", hd3.getFooterText());
assertTrue(hd3.isSlideNumberVisible());
@@ -172,9 +176,9 @@ public final class TestHeadersFooters ex
assertEquals("Wednesday, August 06, 2008", hd3.getDateTimeText());
}
- public void testCreateSlideFooters() throws Exception
- {
- SlideShow ppt = new SlideShow();
+ @Test
+ public void testCreateSlideFooters() throws Exception {
+ HSLFSlideShow ppt = new HSLFSlideShow();
HeadersFooters hdd = ppt.getSlideHeadersFooters();
hdd.setFootersText("My slide footer");
hdd.setSlideNumberVisible(true);
@@ -183,16 +187,16 @@ public final class TestHeadersFooters ex
ppt.write(out);
byte[] b = out.toByteArray();
- SlideShow ppt2 = new SlideShow(new ByteArrayInputStream(b));
+ HSLFSlideShow ppt2 = new HSLFSlideShow(new ByteArrayInputStream(b));
HeadersFooters hdd2 = ppt2.getSlideHeadersFooters();
assertTrue(hdd2.isSlideNumberVisible());
assertTrue(hdd2.isFooterVisible());
assertEquals("My slide footer", hdd2.getFooterText());
}
- public void testCreateNotesFooters() throws Exception
- {
- SlideShow ppt = new SlideShow();
+ @Test
+ public void testCreateNotesFooters() throws Exception {
+ HSLFSlideShow ppt = new HSLFSlideShow();
HeadersFooters hdd = ppt.getNotesHeadersFooters();
hdd.setFootersText("My notes footer");
hdd.setHeaderText("My notes header");
@@ -202,7 +206,7 @@ public final class TestHeadersFooters ex
ppt.write(out);
byte[] b = out.toByteArray();
- SlideShow ppt2 = new SlideShow(new ByteArrayInputStream(b));
+ HSLFSlideShow ppt2 = new HSLFSlideShow(new ByteArrayInputStream(b));
HeadersFooters hdd2 = ppt2.getNotesHeadersFooters();
assertTrue(hdd2.isSlideNumberVisible());
assertTrue(hdd2.isFooterVisible());
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHyperlink.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHyperlink.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHyperlink.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestHyperlink.java Fri Jul 24 21:47:55 2015
@@ -17,70 +17,68 @@
package org.apache.poi.hslf.model;
-import junit.framework.TestCase;
+import static org.apache.poi.hslf.usermodel.HSLFTextParagraph.getRawText;
+import static org.apache.poi.hslf.usermodel.HSLFTextParagraph.toExternalString;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.List;
-import org.apache.poi.hslf.usermodel.SlideShow;
import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Test;
/**
* Test Hyperlink.
*
* @author Yegor Kozlov
*/
-public final class TestHyperlink extends TestCase {
+public final class TestHyperlink {
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
+ @Test
public void testTextRunHyperlinks() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("WithLinks.ppt"));
-
- TextRun[] run;
- Slide slide;
- slide = ppt.getSlides()[0];
- run = slide.getTextRuns();
- for (int i = 0; i < run.length; i++) {
- String text = run[i].getText();
- if (text.equals(
- "This page has two links:\n" +
- "http://jakarta.apache.org/poi/\n" +
- "\n" +
- "http://slashdot.org/\n" +
- "\n" +
- "In addition, its notes has one link")){
-
- Hyperlink[] links = run[i].getHyperlinks();
- assertNotNull(links);
- assertEquals(2, links.length);
-
- assertEquals("http://jakarta.apache.org/poi/", links[0].getTitle());
- assertEquals("http://jakarta.apache.org/poi/", links[0].getAddress());
- assertEquals("http://jakarta.apache.org/poi/", text.substring(links[0].getStartIndex(), links[0].getEndIndex()-1));
-
- assertEquals("http://slashdot.org/", links[1].getTitle());
- assertEquals("http://slashdot.org/", links[1].getAddress());
- assertEquals("http://slashdot.org/", text.substring(links[1].getStartIndex(), links[1].getEndIndex()-1));
-
- }
- }
-
- slide = ppt.getSlides()[1];
- run = slide.getTextRuns();
- for (int i = 0; i < run.length; i++) {
- String text = run[i].getText();
- if (text.equals(
- "I have the one link:\n" +
- "Jakarta HSSF")){
-
- Hyperlink[] links = run[i].getHyperlinks();
- assertNotNull(links);
- assertEquals(1, links.length);
-
- assertEquals("http://jakarta.apache.org/poi/hssf/", links[0].getTitle());
- assertEquals("http://jakarta.apache.org/poi/hssf/", links[0].getAddress());
- assertEquals("Jakarta HSSF", text.substring(links[0].getStartIndex(), links[0].getEndIndex()-1));
-
- }
- }
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("WithLinks.ppt"));
+ HSLFSlide slide = ppt.getSlides().get(0);
+ List<HSLFTextParagraph> para = slide.getTextParagraphs().get(1);
+
+ String rawText = toExternalString(getRawText(para), para.get(0).getRunType());
+ String expected =
+ "This page has two links:\n"+
+ "http://jakarta.apache.org/poi/\n"+
+ "\n"+
+ "http://slashdot.org/\n"+
+ "\n"+
+ "In addition, its notes has one link";
+ assertEquals(expected, rawText);
+
+ List<HSLFHyperlink> links = HSLFHyperlink.find(para);
+ assertNotNull(links);
+ assertEquals(2, links.size());
+
+ assertEquals("http://jakarta.apache.org/poi/", links.get(0).getTitle());
+ assertEquals("http://jakarta.apache.org/poi/", links.get(0).getAddress());
+ assertEquals("http://jakarta.apache.org/poi/", rawText.substring(links.get(0).getStartIndex(), links.get(0).getEndIndex()-1));
+
+ assertEquals("http://slashdot.org/", links.get(1).getTitle());
+ assertEquals("http://slashdot.org/", links.get(1).getAddress());
+ assertEquals("http://slashdot.org/", rawText.substring(links.get(1).getStartIndex(), links.get(1).getEndIndex()-1));
+
+ slide = ppt.getSlides().get(1);
+ para = slide.getTextParagraphs().get(1);
+ rawText = toExternalString(getRawText(para), para.get(0).getRunType());
+ expected =
+ "I have the one link:\n" +
+ "Jakarta HSSF";
+ assertEquals(expected, rawText);
+
+ links = HSLFHyperlink.find(para);
+ assertNotNull(links);
+ assertEquals(1, links.size());
+
+ assertEquals("http://jakarta.apache.org/poi/hssf/", links.get(0).getTitle());
+ assertEquals("http://jakarta.apache.org/poi/hssf/", links.get(0).getAddress());
+ assertEquals("Jakarta HSSF", rawText.substring(links.get(0).getStartIndex(), links.get(0).getEndIndex()-1));
}
-
}
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java Fri Jul 24 21:47:55 2015
@@ -19,21 +19,24 @@ package org.apache.poi.hslf.model;
import java.awt.Color;
-import junit.framework.TestCase;
-
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlide;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.sl.usermodel.StrokeStyle.LineCompound;
+import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;
+import org.junit.Test;
/**
* Test Line shape.
*
* @author Yegor Kozlov
*/
-public final class TestLine extends TestCase {
+public final class TestLine {
+ @Test
public void testCreateLines() {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
slide.addTitle().setText("Lines tester");
@@ -44,31 +47,31 @@ public final class TestLine extends Test
*/
line = new Line();
line.setAnchor(new java.awt.Rectangle(75, 200, 300, 0));
- line.setLineStyle(Line.LINE_SIMPLE);
+ line.setLineCompound(LineCompound.SINGLE);
line.setLineColor(Color.blue);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(75, 230, 300, 0));
- line.setLineStyle(Line.LINE_DOUBLE);
+ line.setLineCompound(LineCompound.DOUBLE);
line.setLineWidth(3.5);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(75, 260, 300, 0));
- line.setLineStyle(Line.LINE_TRIPLE);
+ line.setLineCompound(LineCompound.TRIPLE);
line.setLineWidth(6);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(75, 290, 300, 0));
- line.setLineStyle(Line.LINE_THICKTHIN);
+ line.setLineCompound(LineCompound.THICK_THIN);
line.setLineWidth(4.5);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(75, 320, 300, 0));
- line.setLineStyle(Line.LINE_THINTHICK);
+ line.setLineCompound(LineCompound.THIN_THICK);
line.setLineWidth(5.5);
slide.addShape(line);
@@ -77,27 +80,27 @@ public final class TestLine extends Test
*/
line = new Line();
line.setAnchor(new java.awt.Rectangle(450, 200, 300, 0));
- line.setLineDashing(Line.PEN_SOLID);
+ line.setLineDashing(LineDash.SOLID);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(450, 230, 300, 0));
- line.setLineDashing(Line.PEN_PS_DASH);
+ line.setLineDashing(LineDash.DASH);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(450, 260, 300, 0));
- line.setLineDashing(Line.PEN_DOT);
+ line.setLineDashing(LineDash.DOT);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(450, 290, 300, 0));
- line.setLineDashing(Line.PEN_DOTGEL);
+ line.setLineDashing(LineDash.DASH_DOT);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(450, 320, 300, 0));
- line.setLineDashing(Line.PEN_LONGDASHDOTDOTGEL);
+ line.setLineDashing(LineDash.LG_DASH_DOT_DOT);
slide.addShape(line);
/**
@@ -105,22 +108,22 @@ public final class TestLine extends Test
*/
line = new Line();
line.setAnchor(new java.awt.Rectangle(75, 400, 300, 0));
- line.setLineDashing(Line.PEN_DASHDOT);
- line.setLineStyle(Line.LINE_TRIPLE);
+ line.setLineDashing(LineDash.DASH_DOT);
+ line.setLineCompound(LineCompound.TRIPLE);
line.setLineWidth(5.0);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(75, 430, 300, 0));
- line.setLineDashing(Line.PEN_DASH);
- line.setLineStyle(Line.LINE_THICKTHIN);
+ line.setLineDashing(LineDash.DASH);
+ line.setLineCompound(LineCompound.THICK_THIN);
line.setLineWidth(4.0);
slide.addShape(line);
line = new Line();
line.setAnchor(new java.awt.Rectangle(75, 460, 300, 0));
- line.setLineDashing(Line.PEN_DOT);
- line.setLineStyle(Line.LINE_DOUBLE);
+ line.setLineDashing(LineDash.DOT);
+ line.setLineCompound(LineCompound.DOUBLE);
line.setLineWidth(8.0);
slide.addShape(line);
}
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java Fri Jul 24 21:47:55 2015
@@ -17,32 +17,34 @@
package org.apache.poi.hslf.model;
+import static org.junit.Assert.*;
+
import java.awt.geom.Rectangle2D;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import junit.framework.TestCase;
-
-import org.apache.poi.hslf.usermodel.SlideShow;
import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Test;
/**
* Test <code>MovieShape</code> object.
*
* @author Yegor Kozlov
*/
-public final class TestMovieShape extends TestCase {
+public final class TestMovieShape {
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
+ @Test
public void testCreate() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
String path = "/test-movie.mpg";
int movieIdx = ppt.addMovie(path, MovieShape.MOVIE_MPEG);
- int thumbnailIdx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
+ int thumbnailIdx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
MovieShape shape = new MovieShape(movieIdx, thumbnailIdx);
shape.setAnchor(new Rectangle2D.Float(300,225,120,90));
@@ -56,9 +58,9 @@ public final class TestMovieShape extend
ByteArrayOutputStream out = new ByteArrayOutputStream();
ppt.write(out);
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
- slide = ppt.getSlides()[0];
- shape = (MovieShape)slide.getShapes()[0];
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
+ slide = ppt.getSlides().get(0);
+ shape = (MovieShape)slide.getShapes().get(0);
assertEquals(path, shape.getPath());
assertFalse(shape.isAutoPlay());
}
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestOleEmbedding.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestOleEmbedding.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestOleEmbedding.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestOleEmbedding.java Fri Jul 24 21:47:55 2015
@@ -18,59 +18,54 @@
package org.apache.poi.hslf.model;
import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
import java.awt.geom.Rectangle2D;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
+import java.io.*;
import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.ObjectData;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.IOUtils;
+import org.junit.Test;
-public final class TestOleEmbedding extends TestCase {
+public final class TestOleEmbedding {
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
/**
* Tests support for OLE objects.
*
* @throws Exception if an error occurs.
*/
+ @Test
public void testOleEmbedding2003() throws Exception {
- HSLFSlideShow slideShow = new HSLFSlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
+ HSLFSlideShowImpl slideShow = new HSLFSlideShowImpl(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
// Placeholder EMFs for clients that don't support the OLE components.
- PictureData[] pictures = slideShow.getPictures();
+ HSLFPictureData[] pictures = slideShow.getPictures();
assertEquals("Should be two pictures", 2, pictures.length);
//assertDigestEquals("Wrong data for picture 1", "8d1fbadf4814f321bb1ccdd056e3c788", pictures[0].getData());
//assertDigestEquals("Wrong data for picture 2", "987a698e83559cf3d38a0deeba1cc63b", pictures[1].getData());
// Actual embedded objects.
- ObjectData[] objects = slideShow.getEmbeddedObjects();
+ HSLFObjectData[] objects = slideShow.getEmbeddedObjects();
assertEquals("Should be two objects", 2, objects.length);
//assertDigestEquals("Wrong data for objecs 1", "0d1fcc61a83de5c4894dc0c88e9a019d", objects[0].getData());
//assertDigestEquals("Wrong data for object 2", "b323604b2003a7299c77c2693b641495", objects[1].getData());
}
+ @Test
public void testOLEShape() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
- Slide slide = ppt.getSlides()[0];
- Shape[] sh = slide.getShapes();
+ HSLFSlide slide = ppt.getSlides().get(0);
int cnt = 0;
- for (int i = 0; i < sh.length; i++) {
- if(sh[i] instanceof OLEShape){
+ for (HSLFShape sh : slide.getShapes()) {
+ if(sh instanceof OLEShape){
cnt++;
- OLEShape ole = (OLEShape)sh[i];
- ObjectData data = ole.getObjectData();
+ OLEShape ole = (OLEShape)sh;
+ HSLFObjectData data = ole.getObjectData();
if("Worksheet".equals(ole.getInstanceName())){
//Voila! we created a workbook from the embedded OLE data
HSSFWorkbook wb = new HSSFWorkbook(data.getData());
@@ -81,6 +76,7 @@ public final class TestOleEmbedding exte
assertEquals(2, sheet.getRow(2).getCell(0).getNumericCellValue(), 0);
assertEquals(3, sheet.getRow(3).getCell(0).getNumericCellValue(), 0);
assertEquals(8, sheet.getRow(5).getCell(0).getNumericCellValue(), 0);
+ wb.close();
} else if ("Document".equals(ole.getInstanceName())){
//creating a HWPF document
HWPFDocument doc = new HWPFDocument(data.getData());
@@ -93,12 +89,13 @@ public final class TestOleEmbedding exte
assertEquals("Expected 2 OLE shapes", 2, cnt);
}
+ @Test
public void testEmbedding() throws Exception {
- HSLFSlideShow _hslfSlideShow = HSLFSlideShow.create();
- SlideShow ppt = new SlideShow(_hslfSlideShow);
+ HSLFSlideShowImpl _hslfSlideShow = HSLFSlideShowImpl.create();
+ HSLFSlideShow ppt = new HSLFSlideShow(_hslfSlideShow);
File pict = POIDataSamples.getSlideShowInstance().getFile("clock.jpg");
- int pictId = ppt.addPicture(pict, Picture.JPEG);
+ int pictId = ppt.addPicture(pict, HSLFPictureShape.JPEG);
InputStream is = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("Employee.xls");
POIFSFileSystem poiData1 = new POIFSFileSystem(is);
@@ -106,14 +103,14 @@ public final class TestOleEmbedding exte
int oleObjectId1 = ppt.addEmbed(poiData1);
- Slide slide1 = ppt.createSlide();
+ HSLFSlide slide1 = ppt.createSlide();
OLEShape oleShape1 = new OLEShape(pictId);
oleShape1.setObjectID(oleObjectId1);
slide1.addShape(oleShape1);
oleShape1.setAnchor(new Rectangle2D.Double(100,100,100,100));
// add second slide with different order in object creation
- Slide slide2 = ppt.createSlide();
+ HSLFSlide slide2 = ppt.createSlide();
OLEShape oleShape2 = new OLEShape(pictId);
is = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("SimpleWithImages.xls");
@@ -129,8 +126,8 @@ public final class TestOleEmbedding exte
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ppt.write(bos);
- ppt = new SlideShow(new ByteArrayInputStream(bos.toByteArray()));
- OLEShape comp = (OLEShape)ppt.getSlides()[0].getShapes()[0];
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(bos.toByteArray()));
+ OLEShape comp = (OLEShape)ppt.getSlides().get(0).getShapes().get(0);
byte compData[] = IOUtils.toByteArray(comp.getObjectData().getData());
bos.reset();
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPFont.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPFont.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPFont.java Fri Jul 24 21:47:55 2015
@@ -17,18 +17,22 @@
package org.apache.poi.hslf.model;
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import static org.junit.Assert.assertEquals;
+
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.junit.Test;
+
/**
* Test adding fonts to the presenataion resources
*
* @author Yegor Kozlov
*/
-public final class TestPPFont extends TestCase{
+public final class TestPPFont {
+ @Test
public void testCreate() {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
assertEquals(1, ppt.getNumberOfFonts());
assertEquals("Arial", ppt.getFont(0).getFontName());
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPPGraphics2D.java Fri Jul 24 21:47:55 2015
@@ -17,39 +17,44 @@
package org.apache.poi.hslf.model;
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.POIDataSamples;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.awt.*;
-import java.awt.Rectangle;
-import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.List;
+
+import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Before;
+import org.junit.Test;
/**
* Test drawing shapes via Graphics2D
*
* @author Yegor Kozlov
*/
-public final class TestPPGraphics2D extends TestCase {
+public final class TestPPGraphics2D {
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
- private SlideShow ppt;
+ private HSLFSlideShow ppt;
- protected void setUp() throws Exception {
- ppt = new SlideShow(_slTests.openResourceAsStream("empty.ppt"));
+ @Before
+ public void setUp() throws Exception {
+ ppt = new HSLFSlideShow(_slTests.openResourceAsStream("empty.ppt"));
}
+ @Test
public void testGraphics() throws Exception {
// Starts off empty
- assertEquals(0, ppt.getSlides().length);
+ assertTrue(ppt.getSlides().isEmpty());
// Add a slide
- Slide slide = ppt.createSlide();
- assertEquals(1, ppt.getSlides().length);
+ HSLFSlide slide = ppt.createSlide();
+ assertEquals(1, ppt.getSlides().size());
// Add some stuff into it
- ShapeGroup group = new ShapeGroup();
+ HSLFGroupShape group = new HSLFGroupShape();
Dimension pgsize = ppt.getPageSize();
java.awt.Rectangle bounds = new java.awt.Rectangle(0, 0, (int)pgsize.getWidth(), (int)pgsize.getHeight());
group.setAnchor(bounds);
@@ -73,18 +78,18 @@ public final class TestPPGraphics2D exte
out.close();
// And read it back in
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
- assertEquals(1, ppt.getSlides().length);
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+ assertEquals(1, ppt.getSlides().size());
- slide = ppt.getSlides()[0];
- Shape[] shape = slide.getShapes();
- assertEquals(shape.length, 1); //group shape
+ slide = ppt.getSlides().get(0);
+ List<HSLFShape> shape = slide.getShapes();
+ assertEquals(shape.size(), 1); //group shape
- assertTrue(shape[0] instanceof ShapeGroup); //group shape
+ assertTrue(shape.get(0) instanceof HSLFGroupShape); //group shape
- group = (ShapeGroup)shape[0];
+ group = (HSLFGroupShape)shape.get(0);
shape = group.getShapes();
- assertEquals(shape.length, 3);
+ assertEquals(shape.size(), 3);
}
}
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSetBoldItalic.java Fri Jul 24 21:47:55 2015
@@ -17,45 +17,46 @@
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 static org.junit.Assert.*;
-import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Test;
/**
* Test setting text properties of newly added TextBoxes
*
* @author Yegor Kozlov
*/
-public final class TestSetBoldItalic extends TestCase {
+public final class TestSetBoldItalic {
/**
* Verify that we can add TextBox shapes to a slide
* and set some of the style attributes
*/
+ @Test
public void testTextBoxWrite() throws Exception {
- SlideShow ppt = new SlideShow();
- Slide sl = ppt.createSlide();
- RichTextRun rt;
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide sl = ppt.createSlide();
+ HSLFTextRun rt;
String val = "Hello, World!";
// Create a new textbox, and give it lots of properties
- TextBox txtbox = new TextBox();
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ HSLFTextBox txtbox = new HSLFTextBox();
+ rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
txtbox.setText(val);
- rt.setFontSize(42);
+ rt.setFontSize(42d);
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());
+ rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
+ assertEquals(val, rt.getRawText());
+ assertEquals(42, rt.getFontSize(), 0);
assertTrue(rt.isBold());
assertTrue(rt.isItalic());
@@ -64,15 +65,15 @@ public final class TestSetBoldItalic ext
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
- sl = ppt.getSlides()[0];
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+ sl = ppt.getSlides().get(0);
- txtbox = (TextBox)sl.getShapes()[0];
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ txtbox = (HSLFTextBox)sl.getShapes().get(0);
+ rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
// Check after save
- assertEquals(val, rt.getText());
- assertEquals(42, rt.getFontSize());
+ assertEquals(val, rt.getRawText());
+ assertEquals(42, rt.getFontSize(), 0);
assertTrue(rt.isBold());
assertTrue(rt.isItalic());
assertFalse(rt.isUnderlined());
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java Fri Jul 24 21:47:55 2015
@@ -17,30 +17,19 @@
package org.apache.poi.hslf.model;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Rectangle;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
+import static org.junit.Assert.*;
+
+import java.awt.*;
+import java.awt.geom.Rectangle2D;
+import java.io.*;
import java.util.ArrayList;
+import java.util.List;
import org.apache.poi.POIDataSamples;
-import org.apache.poi.ddf.EscherDgRecord;
-import org.apache.poi.ddf.EscherDggRecord;
-import org.apache.poi.ddf.EscherOptRecord;
-import org.apache.poi.ddf.EscherProperties;
-import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.ddf.*;
+import org.apache.poi.hslf.usermodel.*;
+import org.apache.poi.sl.usermodel.ShapeType;
+import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;
import org.junit.Before;
import org.junit.Test;
@@ -52,17 +41,17 @@ import org.junit.Test;
public final class TestShapes {
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
- private SlideShow ppt;
- private SlideShow pptB;
+ private HSLFSlideShow ppt;
+ private HSLFSlideShow pptB;
@Before
public void setUp() throws Exception {
InputStream is1 = null, is2 = null;
try {
is1 = _slTests.openResourceAsStream("empty.ppt");
- ppt = new SlideShow(is1);
+ ppt = new HSLFSlideShow(is1);
is2 = _slTests.openResourceAsStream("empty_textbox.ppt");
- pptB = new SlideShow(is2);
+ pptB = new HSLFSlideShow(is2);
} finally {
is1.close();
is2.close();
@@ -71,21 +60,21 @@ public final class TestShapes {
@Test
public void graphics() throws Exception {
- Slide slide = ppt.createSlide();
+ HSLFSlide 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.setLineDashing(LineDash.DASH);
line.setLineColor(Color.red);
slide.addShape(line);
- AutoShape ellipse = new AutoShape(ShapeTypes.Ellipse);
+ HSLFAutoShape ellipse = new HSLFAutoShape(ShapeType.ELLIPSE);
java.awt.Rectangle ellipseAnchor = new Rectangle(320, 154, 55, 111);
ellipse.setAnchor(ellipseAnchor);
ellipse.setLineWidth(2);
- ellipse.setLineStyle(Line.PEN_SOLID);
+ ellipse.setLineDashing(LineDash.SOLID);
ellipse.setLineColor(Color.green);
ellipse.setFillColor(Color.lightGray);
slide.addShape(ellipse);
@@ -96,18 +85,18 @@ public final class TestShapes {
//read ppt from byte array
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
- assertEquals(1, ppt.getSlides().length);
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+ assertEquals(1, ppt.getSlides().size());
- slide = ppt.getSlides()[0];
- Shape[] shape = slide.getShapes();
- assertEquals(2, shape.length);
+ slide = ppt.getSlides().get(0);
+ List<HSLFShape> shape = slide.getShapes();
+ assertEquals(2, shape.size());
- assertTrue(shape[0] instanceof Line); //group shape
- assertEquals(lineAnchor, shape[0].getAnchor()); //group shape
+ assertTrue(shape.get(0) instanceof Line); //group shape
+ assertEquals(lineAnchor, shape.get(0).getAnchor()); //group shape
- assertTrue(shape[1] instanceof AutoShape); //group shape
- assertEquals(ellipseAnchor, shape[1].getAnchor()); //group shape
+ assertTrue(shape.get(1) instanceof HSLFAutoShape); //group shape
+ assertEquals(ellipseAnchor, shape.get(1).getAnchor()); //group shape
}
/**
@@ -116,54 +105,96 @@ public final class TestShapes {
*/
@Test
public void textBoxRead() throws Exception {
- ppt = new SlideShow(_slTests.openResourceAsStream("with_textbox.ppt"));
- 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];
+ ppt = new HSLFSlideShow(_slTests.openResourceAsStream("with_textbox.ppt"));
+ HSLFSlide sl = ppt.getSlides().get(0);
+ for (HSLFShape sh : sl.getShapes()) {
+ assertTrue(sh instanceof HSLFTextBox);
+ HSLFTextBox txtbox = (HSLFTextBox)sh;
String text = txtbox.getText();
assertNotNull(text);
- assertEquals(txtbox.getTextRun().getRichTextRuns().length, 1);
- RichTextRun rt = txtbox.getTextRun().getRichTextRuns()[0];
+ assertEquals(txtbox.getTextParagraphs().get(0).getTextRuns().size(), 1);
+ HSLFTextRun rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
if (text.equals("Hello, World!!!")){
- assertEquals(32, rt.getFontSize());
+ assertEquals(32, rt.getFontSize(), 0);
assertTrue(rt.isBold());
assertTrue(rt.isItalic());
} else if (text.equals("I am just a poor boy")){
- assertEquals(44, rt.getFontSize());
+ assertEquals(44, rt.getFontSize(), 0);
assertTrue(rt.isBold());
} else if (text.equals("This is Times New Roman")){
- assertEquals(16, rt.getFontSize());
+ assertEquals(16, rt.getFontSize(), 0);
assertTrue(rt.isBold());
assertTrue(rt.isItalic());
assertTrue(rt.isUnderlined());
} else if (text.equals("Plain Text")){
- assertEquals(18, rt.getFontSize());
+ assertEquals(18, rt.getFontSize(), 0);
}
}
}
+ @SuppressWarnings("unused")
+ @Test
+ public void testParagraphs() throws Exception {
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide = ppt.createSlide();
+ HSLFTextBox shape = new HSLFTextBox();
+ HSLFTextRun p1r1 = shape.setText("para 1 run 1. ");
+ HSLFTextRun p1r2 = shape.appendText("para 1 run 2.", false);
+ HSLFTextRun p2r1 = shape.appendText("para 2 run 1. ", true);
+ HSLFTextRun p2r2 = shape.appendText("para 2 run 2. ", false);
+ p1r1.setFontColor(Color.black);
+ p1r2.setFontColor(Color.red);
+ p2r1.setFontColor(Color.yellow);
+ p2r2.setStrikethrough(true);
+ // run 3 has same text properties as run 2 and will be merged when saving
+ HSLFTextRun p2r3 = shape.appendText("para 2 run 3.", false);
+ shape.setAnchor(new Rectangle2D.Double(100,100,100,10));
+ slide.addShape(shape);
+ shape.resizeToFitText();
+
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ppt.write(bos);
+
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(bos.toByteArray()));
+ slide = ppt.getSlides().get(0);
+ HSLFTextBox tb = (HSLFTextBox)slide.getShapes().get(0);
+ List<HSLFTextParagraph> para = tb.getTextParagraphs();
+ HSLFTextRun tr = para.get(0).getTextRuns().get(0);
+ assertEquals("para 1 run 1. ", tr.getRawText());
+ assertEquals(Color.black, tr.getFontColor());
+ tr = para.get(0).getTextRuns().get(1);
+ assertEquals("para 1 run 2.\r", tr.getRawText());
+ assertEquals(Color.red, tr.getFontColor());
+ tr = para.get(1).getTextRuns().get(0);
+ assertEquals("para 2 run 1. ", tr.getRawText());
+ assertEquals(Color.yellow, tr.getFontColor());
+ tr = para.get(1).getTextRuns().get(1);
+ assertEquals("para 2 run 2. para 2 run 3.", tr.getRawText());
+ assertEquals(Color.black, tr.getFontColor());
+ assertTrue(tr.isStrikethrough());
+ }
+
+
/**
* Verify that we can add TextBox shapes to a slide
* and set some of the style attributes
*/
@Test
public void textBoxWriteBytes() throws Exception {
- ppt = new SlideShow();
- Slide sl = ppt.createSlide();
- RichTextRun rt;
+ ppt = new HSLFSlideShow();
+ HSLFSlide sl = ppt.createSlide();
+ HSLFTextRun rt;
String val = "Hello, World!";
// Create a new textbox, and give it lots of properties
- TextBox txtbox = new TextBox();
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ HSLFTextBox txtbox = new HSLFTextBox();
+ rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
txtbox.setText(val);
- rt.setFontName("Arial");
- rt.setFontSize(42);
+ rt.setFontFamily("Arial");
+ rt.setFontSize(42d);
rt.setBold(true);
rt.setItalic(true);
rt.setUnderlined(false);
@@ -171,13 +202,13 @@ public final class TestShapes {
sl.addShape(txtbox);
// Check it before save
- rt = txtbox.getTextRun().getRichTextRuns()[0];
- assertEquals(val, rt.getText());
- assertEquals(42, rt.getFontSize());
+ rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
+ assertEquals(val, rt.getRawText());
+ assertEquals(42, rt.getFontSize(), 0);
assertTrue(rt.isBold());
assertTrue(rt.isItalic());
assertFalse(rt.isUnderlined());
- assertEquals("Arial", rt.getFontName());
+ assertEquals("Arial", rt.getFontFamily());
assertEquals(Color.red, rt.getFontColor());
// Serialize and read again
@@ -185,19 +216,19 @@ public final class TestShapes {
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
- sl = ppt.getSlides()[0];
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+ sl = ppt.getSlides().get(0);
- txtbox = (TextBox)sl.getShapes()[0];
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ txtbox = (HSLFTextBox)sl.getShapes().get(0);
+ rt = txtbox.getTextParagraphs().get(0).getTextRuns().get(0);
// Check after save
- assertEquals(val, rt.getText());
- assertEquals(42, rt.getFontSize());
+ assertEquals(val, rt.getRawText());
+ assertEquals(42, rt.getFontSize(), 0);
assertTrue(rt.isBold());
assertTrue(rt.isItalic());
assertFalse(rt.isUnderlined());
- assertEquals("Arial", rt.getFontName());
+ assertEquals("Arial", rt.getFontFamily());
assertEquals(Color.red, rt.getFontColor());
}
@@ -206,13 +237,13 @@ public final class TestShapes {
*/
@Test
public void emptyTextBox() {
- assertEquals(2, pptB.getSlides().length);
- Slide s1 = pptB.getSlides()[0];
- Slide s2 = pptB.getSlides()[1];
+ assertEquals(2, pptB.getSlides().size());
+ HSLFSlide s1 = pptB.getSlides().get(0);
+ HSLFSlide s2 = pptB.getSlides().get(1);
// Check we can get the shapes count
- assertEquals(2, s1.getShapes().length);
- assertEquals(2, s2.getShapes().length);
+ assertEquals(2, s1.getShapes().size());
+ assertEquals(2, s2.getShapes().size());
}
/**
@@ -230,21 +261,26 @@ public final class TestShapes {
}
private void textBoxSet(String filename) throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(filename));
- Slide[] sl = ppt.getSlides();
- for (int k = 0; k < sl.length; k++) {
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(filename));
+ for (HSLFSlide sld : ppt.getSlides()) {
ArrayList<String> lst1 = new ArrayList<String>();
- TextRun[] txt = sl[k].getTextRuns();
- for (int i = 0; i < txt.length; i++) {
- lst1.add(txt[i].getText());
+ for (List<HSLFTextParagraph> txt : sld.getTextParagraphs()) {
+ for (HSLFTextParagraph p : txt) {
+ for (HSLFTextRun r : p) {
+ lst1.add(r.getRawText());
+ }
+ }
}
ArrayList<String> lst2 = new ArrayList<String>();
- Shape[] sh = sl[k].getShapes();
- for (int i = 0; i < sh.length; i++) {
- if (sh[i] instanceof TextShape){
- TextShape tbox = (TextShape)sh[i];
- lst2.add(tbox.getText());
+ for (HSLFShape sh : sld.getShapes()) {
+ if (sh instanceof HSLFTextShape){
+ HSLFTextShape tbox = (HSLFTextShape)sh;
+ for (HSLFTextParagraph p : tbox.getTextParagraphs()) {
+ for (HSLFTextRun r : p) {
+ lst2.add(r.getRawText());
+ }
+ }
}
}
assertTrue(lst1.containsAll(lst2));
@@ -257,18 +293,18 @@ public final class TestShapes {
*/
@Test
public void shapeGroup() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
Dimension pgsize = ppt.getPageSize();
- ShapeGroup group = new ShapeGroup();
+ HSLFGroupShape group = new HSLFGroupShape();
group.setAnchor(new Rectangle(0, 0, (int)pgsize.getWidth(), (int)pgsize.getHeight()));
slide.addShape(group);
- int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
- Picture pict = new Picture(idx, group);
+ int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), HSLFPictureShape.JPEG);
+ HSLFPictureShape pict = new HSLFPictureShape(idx, group);
pict.setAnchor(new Rectangle(0, 0, 200, 200));
group.addShape(pict);
@@ -282,25 +318,25 @@ public final class TestShapes {
out.close();
ByteArrayInputStream is = new ByteArrayInputStream(out.toByteArray());
- ppt = new SlideShow(is);
+ ppt = new HSLFSlideShow(is);
is.close();
- slide = ppt.getSlides()[0];
+ slide = ppt.getSlides().get(0);
- Shape[] shape = slide.getShapes();
- assertEquals(1, shape.length);
- assertTrue(shape[0] instanceof ShapeGroup);
-
- group = (ShapeGroup)shape[0];
- Shape[] grshape = group.getShapes();
- assertEquals(2, grshape.length);
- assertTrue(grshape[0] instanceof Picture);
- assertTrue(grshape[1] instanceof Line);
+ List<HSLFShape> shape = slide.getShapes();
+ assertEquals(1, shape.size());
+ assertTrue(shape.get(0) instanceof HSLFGroupShape);
+
+ group = (HSLFGroupShape)shape.get(0);
+ List<HSLFShape> grshape = group.getShapes();
+ assertEquals(2, grshape.size());
+ assertTrue(grshape.get(0) instanceof HSLFPictureShape);
+ assertTrue(grshape.get(1) instanceof Line);
- pict = (Picture)grshape[0];
+ pict = (HSLFPictureShape)grshape.get(0);
assertEquals(new Rectangle(0, 0, 200, 200), pict.getAnchor());
- line = (Line)grshape[1];
+ line = (Line)grshape.get(1);
assertEquals(new Rectangle(300, 300, 500, 0), line.getAnchor());
}
@@ -310,48 +346,48 @@ public final class TestShapes {
@Test
public void removeShapes() throws IOException {
String file = "with_textbox.ppt";
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(file));
- Slide sl = ppt.getSlides()[0];
- Shape[] sh = sl.getShapes();
- assertEquals("expected four shaped in " + file, 4, sh.length);
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(file));
+ HSLFSlide sl = ppt.getSlides().get(0);
+ List<HSLFShape> sh = sl.getShapes();
+ assertEquals("expected four shaped in " + file, 4, sh.size());
//remove all
- for (int i = 0; i < sh.length; i++) {
- boolean ok = sl.removeShape(sh[i]);
+ for (int i = 0; i < sh.size(); i++) {
+ boolean ok = sl.removeShape(sh.get(i));
assertTrue("Failed to delete shape #" + i, ok);
}
//now Slide.getShapes() should return an empty array
- assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().length);
+ assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().size());
//serialize and read again. The file should be readable and contain no shapes
ByteArrayOutputStream out = new ByteArrayOutputStream();
ppt.write(out);
out.close();
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
- sl = ppt.getSlides()[0];
- assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().length);
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
+ sl = ppt.getSlides().get(0);
+ assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().size());
}
@Test
public void lineWidth() {
- SimpleShape sh = new AutoShape(ShapeTypes.RightTriangle);
+ HSLFSimpleShape sh = new HSLFAutoShape(ShapeType.RT_TRIANGLE);
EscherOptRecord opt = sh.getEscherOptRecord();
- EscherSimpleProperty prop = SimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
+ EscherSimpleProperty prop = HSLFSimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
assertNull(prop);
- assertEquals(SimpleShape.DEFAULT_LINE_WIDTH, sh.getLineWidth(), 0);
+ assertEquals(HSLFSimpleShape.DEFAULT_LINE_WIDTH, sh.getLineWidth(), 0);
sh.setLineWidth(1.0);
- prop = SimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
+ prop = HSLFSimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
assertNotNull(prop);
assertEquals(1.0, sh.getLineWidth(), 0);
}
@Test
public void shapeId() {
- SlideShow ppt = new SlideShow();
- Slide slide = ppt.createSlide();
- Shape shape = null;
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide = ppt.createSlide();
+ HSLFShape shape = null;
//EscherDgg is a document-level record which keeps track of the drawing groups
EscherDggRecord dgg = ppt.getDocumentRecord().getPPDrawingGroup().getEscherDggRecord();
@@ -399,25 +435,25 @@ public final class TestShapes {
@Test
public void lineColor() throws IOException {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("51731.ppt"));
- Shape[] shape = ppt.getSlides()[0].getShapes();
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("51731.ppt"));
+ List<HSLFShape> shape = ppt.getSlides().get(0).getShapes();
- assertEquals(4, shape.length);
+ assertEquals(4, shape.size());
- TextShape sh1 = (TextShape)shape[0];
+ HSLFTextShape sh1 = (HSLFTextShape)shape.get(0);
assertEquals("Hello Apache POI", sh1.getText());
assertNull(sh1.getLineColor());
- TextShape sh2 = (TextShape)shape[1];
+ HSLFTextShape sh2 = (HSLFTextShape)shape.get(1);
assertEquals("Why are you showing this border?", sh2.getText());
assertNull(sh2.getLineColor());
- TextShape sh3 = (TextShape)shape[2];
+ HSLFTextShape sh3 = (HSLFTextShape)shape.get(2);
assertEquals("Text in a black border", sh3.getText());
assertEquals(Color.black, sh3.getLineColor());
assertEquals(0.75, sh3.getLineWidth(), 0);
- TextShape sh4 = (TextShape)shape[3];
+ HSLFTextShape sh4 = (HSLFTextShape)shape.get(3);
assertEquals("Border width is 5 pt", sh4.getText());
assertEquals(Color.black, sh4.getLineColor());
assertEquals(5.0, sh4.getLineWidth(), 0);
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSheet.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSheet.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSheet.java Fri Jul 24 21:47:55 2015
@@ -17,14 +17,17 @@
package org.apache.poi.hslf.model;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import java.util.List;
+
+import org.apache.poi.POIDataSamples;
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
import org.apache.poi.hslf.record.ColorSchemeAtom;
import org.apache.poi.hslf.record.PPDrawing;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Test;
/**
* Test common functionality of the <code>Sheet</code> object.
@@ -32,17 +35,18 @@ import org.apache.poi.POIDataSamples;
*
* @author Yegor Kozlov
*/
-public final class TestSheet extends TestCase {
+public final class TestSheet {
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
/**
* For each ppt in the test directory check that all sheets are properly initialized
*/
+ @Test
public void testSheet() throws Exception {
String[] tests = {"SampleShow.ppt", "backgrounds.ppt", "text_shapes.ppt", "pictures.ppt"};
for (String file : tests) {
try {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(file));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(file));
doSlideShow(ppt);
} catch (EncryptedPowerPointFileException e){
; //skip encrypted ppt
@@ -50,21 +54,20 @@ public final class TestSheet extends Tes
}
}
- private void doSlideShow(SlideShow ppt) {
- Slide[] slide = ppt.getSlides();
- for (int i = 0; i < slide.length; i++) {
- verify(slide[i]);
+ private void doSlideShow(HSLFSlideShow ppt) {
+ for (HSLFSlide slide : ppt.getSlides()) {
+ verify(slide);
- Notes notes = slide[i].getNotesSheet();
+ HSLFNotes notes = slide.getNotes();
if(notes != null) verify(notes);
- MasterSheet master = slide[i].getMasterSheet();
+ HSLFMasterSheet master = slide.getMasterSheet();
assertNotNull(master);
verify(master);
}
}
- private void verify(Sheet sheet){
+ private void verify(HSLFSheet sheet){
assertNotNull(sheet.getSlideShow());
ColorSchemeAtom colorscheme = sheet.getColorScheme();
@@ -73,29 +76,28 @@ public final class TestSheet extends Tes
PPDrawing ppdrawing = sheet.getPPDrawing();
assertNotNull(ppdrawing);
- Background background = sheet.getBackground();
+ HSLFBackground background = sheet.getBackground();
assertNotNull(background);
assertTrue(sheet._getSheetNumber() != 0);
assertTrue(sheet._getSheetRefId() != 0);
- TextRun[] txt = sheet.getTextRuns();
- if (txt == null) {
- throw new AssertionFailedError("no text runs");
- }
- for (int i = 0; i < txt.length; i++) {
- assertNotNull(txt[i].getSheet());
+ List<List<HSLFTextParagraph>> txt = sheet.getTextParagraphs();
+ // assertTrue("no text runs", txt != null && !txt.isEmpty());
+ // backgrounds.ppt has no texts
+ for (List<HSLFTextParagraph> t : txt) {
+ for (HSLFTextParagraph tp : t) {
+ assertNotNull(tp.getSheet());
+ }
}
- Shape[] shape = sheet.getShapes();
- if (shape == null) {
- throw new AssertionFailedError("no shapes");
- }
- for (int i = 0; i < shape.length; i++) {
- assertNotNull(shape[i].getSpContainer());
- assertNotNull(shape[i].getSheet());
- assertNotNull(shape[i].getShapeName());
- assertNotNull(shape[i].getAnchor());
+ List<HSLFShape> shape = sheet.getShapes();
+ assertTrue("no shapes", shape != null && !shape.isEmpty());
+ for (HSLFShape s : shape) {
+ assertNotNull(s.getSpContainer());
+ assertNotNull(s.getSheet());
+ assertNotNull(s.getShapeName());
+ assertNotNull(s.getAnchor());
}
}
}
Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java?rev=1692593&r1=1692592&r2=1692593&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java Fri Jul 24 21:47:55 2015
@@ -18,30 +18,33 @@
package org.apache.poi.hslf.model;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.record.SlideAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
import org.apache.poi.POIDataSamples;
+import org.apache.poi.hslf.record.SlideAtom;
+import org.apache.poi.hslf.usermodel.*;
+import org.junit.Before;
+import org.junit.Test;
/**
* Tests that changing a slide's idea of what notes sheet is its works right
*
* @author Nick Burch (nick at torchbox dot com)
*/
-public final class TestSlideChangeNotes extends TestCase {
+public final class TestSlideChangeNotes {
// SlideShow primed on the test data
- private SlideShow ss;
+ private HSLFSlideShow ss;
- public TestSlideChangeNotes() throws Exception {
+ @Before
+ public void init() throws Exception {
POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(hss);
}
+ @Test
public void testSetToNone() {
- Slide slideOne = ss.getSlides()[0];
+ HSLFSlide slideOne = ss.getSlides().get(0);
SlideAtom sa = slideOne.getSlideRecord().getSlideAtom();
slideOne.setNotes(null);
@@ -49,9 +52,10 @@ public final class TestSlideChangeNotes
assertEquals(0, sa.getNotesID());
}
+ @Test
public void testSetToSomething() {
- Slide slideOne = ss.getSlides()[0];
- Notes notesOne = ss.getNotes()[1];
+ HSLFSlide slideOne = ss.getSlides().get(0);
+ HSLFNotes notesOne = ss.getNotes().get(1);
SlideAtom sa = slideOne.getSlideRecord().getSlideAtom();
slideOne.setNotes(notesOne);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org