Author: nick
Date: Mon Aug 4 21:34:51 2014
New Revision: 1615803
URL: http://svn.apache.org/r1615803
Log:
Add a disabled unit test for bug #56812, based on code and file from Geoff
Wright
Added:
poi/trunk/test-data/slideshow/56812.pptx (with props)
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java?rev=1615803&r1=1615802&r2=1615803&view=diff
==============================================================================
---
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
(original)
+++
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
Mon Aug 4 21:34:51 2014
@@ -19,28 +19,34 @@
package org.apache.poi.xslf.usermodel;
+import java.awt.Graphics2D;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+
+import javax.imageio.ImageIO;
+import javax.xml.namespace.QName;
+
import org.apache.poi.POIXMLException;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.util.Beta;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlObject;
-import org.openxmlformats.schemas.drawingml.x2006.main.*;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTBlip;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeArtExtension;
+import
org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeArtExtensionList;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTPresetGeometry2D;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;
+import org.openxmlformats.schemas.drawingml.x2006.main.STShapeType;
import
org.openxmlformats.schemas.presentationml.x2006.main.CTApplicationNonVisualDrawingProps;
import org.openxmlformats.schemas.presentationml.x2006.main.CTPicture;
import org.openxmlformats.schemas.presentationml.x2006.main.CTPictureNonVisual;
-import javax.imageio.ImageIO;
-import javax.xml.namespace.QName;
-import java.awt.Graphics2D;
-import java.awt.geom.Rectangle2D;
-import java.awt.image.BufferedImage;
-import java.io.ByteArrayInputStream;
-
/**
* Represents a picture shape
- *
- * @author Yegor Kozlov
*/
@Beta
public class XSLFPictureShape extends XSLFSimpleShape {
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java?rev=1615803&r1=1615802&r2=1615803&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java
(original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java Mon Aug
4 21:34:51 2014
@@ -25,7 +25,10 @@ import org.apache.poi.openxml4j.opc.Pack
import org.apache.poi.xslf.usermodel.DrawingParagraph;
import org.apache.poi.xslf.usermodel.DrawingTextBody;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
+import org.apache.poi.xslf.usermodel.XSLFPictureData;
+import org.apache.poi.xslf.usermodel.XSLFPictureShape;
import org.apache.poi.xslf.usermodel.XSLFRelation;
+import org.apache.poi.xslf.usermodel.XSLFShape;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideLayout;
@@ -136,6 +139,31 @@ public class TestXSLFBugs extends POITes
assertContains("POI can read this", getSlideText(slide));
}
+ /**
+ * When the picture is not embedded but inserted only as a "link to file",
+ * there is no data available and XSLFPictureShape.getPictureData()
+ * gives a NPE, see bug #56812
+ */
+ public void DISABLEDtest56812() throws Exception {
+ XMLSlideShow ppt =
XSLFTestDataSamples.openSampleDocument("56812.pptx");
+
+ int pictures = 0;
+ for (XSLFSlide slide : ppt.getSlides()){
+ for (XSLFShape shape : slide.getShapes()){
+ assertNotNull(shape);
+
+ if (shape instanceof XSLFPictureShape) {
+ XSLFPictureData data = ((XSLFPictureShape)
shape).getPictureData();
+ assertNotNull(data);
+ assertNotNull(data.getFileName());
+ pictures++;
+ }
+ }
+ }
+
+ assertEquals(3, pictures);
+ }
+
protected String getSlideText(XSLFSlide slide) {
StringBuffer text = new StringBuffer();
for(DrawingTextBody textBody :
slide.getCommonSlideData().getDrawingText()) {
Added: poi/trunk/test-data/slideshow/56812.pptx
URL:
http://svn.apache.org/viewvc/poi/trunk/test-data/slideshow/56812.pptx?rev=1615803&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/test-data/slideshow/56812.pptx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]