From: Nick Burch Date: Wed, 26 Jun 2013 00:45:18 +0000 (+0000) Subject: Add disabled unit test for bug #54916 X-Git-Tag: REL_3_10_BETA2~67 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0339745131f83944d31a0391c1b60fa750127369;p=poi.git Add disabled unit test for bug #54916 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1496696 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java b/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java index e971aee47f..8c1600fff8 100644 --- a/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java @@ -16,18 +16,20 @@ ==================================================================== */ package org.apache.poi.xslf; -import junit.framework.TestCase; +import java.net.URI; +import java.util.List; + +import org.apache.poi.POITestCase; import org.apache.poi.POIXMLDocumentPart; import org.apache.poi.openxml4j.opc.PackagePart; +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.XSLFRelation; import org.apache.poi.xslf.usermodel.XSLFSlide; import org.apache.poi.xslf.usermodel.XSLFSlideLayout; -import java.net.URI; -import java.util.List; - -public class TestXSLFBugs extends TestCase { +public class TestXSLFBugs extends POITestCase { @SuppressWarnings("deprecation") public void test51187() throws Exception { @@ -106,4 +108,42 @@ public class TestXSLFBugs extends TestCase { } } } + + /** + * A slideshow can have more than one rID pointing to a given + * slide, eg presentation.xml rID1 -> slide1.xml, but slide1.xml + * rID2 -> slide3.xml + */ + public void DISABLEDtest54916() throws Exception { + XMLSlideShow ss = XSLFTestDataSamples.openSampleDocument("OverlappingRelations.pptx"); + XSLFSlide slide; + + // Should find 4 slides + assertEquals(4, ss.getSlides().length); + + // Check the text, to see we got them in order + slide = ss.getSlides()[0]; + assertContains("POI cannot read this", getSlideText(slide)); + + slide = ss.getSlides()[1]; + assertContains("POI can read this", getSlideText(slide)); + assertContains("Has a relationship to another slide", getSlideText(slide)); + + slide = ss.getSlides()[2]; + assertContains("POI can read this", getSlideText(slide)); + + slide = ss.getSlides()[3]; + assertContains("POI can read this", getSlideText(slide)); + } + + protected String getSlideText(XSLFSlide slide) { + StringBuffer text = new StringBuffer(); + for(DrawingTextBody textBody : slide.getCommonSlideData().getDrawingText()) { + for (DrawingParagraph p : textBody.getParagraphs()) { + text.append(p.getText()); + text.append("\n"); + } + } + return text.toString(); + } } diff --git a/test-data/slideshow/OverlappingRelations.pptx b/test-data/slideshow/OverlappingRelations.pptx new file mode 100644 index 0000000000..7551630bde Binary files /dev/null and b/test-data/slideshow/OverlappingRelations.pptx differ