You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2011/09/19 17:38:59 UTC
svn commit: r1172670 -
/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java
Author: nick
Date: Mon Sep 19 15:38:59 2011
New Revision: 1172670
URL: http://svn.apache.org/viewvc?rev=1172670&view=rev
Log:
Test relating to TIKA-705 - XSLF internal hyperlinks
Modified:
poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java
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=1172670&r1=1172669&r2=1172670&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 Sep 19 15:38:59 2011
@@ -16,11 +16,17 @@
==================================================================== */
package org.apache.poi.xslf;
+import java.net.URI;
+import java.util.List;
+
import junit.framework.TestCase;
+import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.openxml4j.opc.PackagePart;
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;
public class TestXSLFBugs extends TestCase {
@@ -61,6 +67,43 @@ public class TestXSLFBugs extends TestCa
*/
public void testTIKA705() {
XMLSlideShow ss = XSLFTestDataSamples.openSampleDocument("with_japanese.pptx");
- // TODO Check the details including the links
+
+ // Should have one slide
+ assertEquals(1, ss.getSlides().length);
+ XSLFSlide slide = ss.getSlides()[0];
+
+ // Check the relations from this
+ List<POIXMLDocumentPart> rels = slide.getRelations();
+
+ // Should have 6 relations:
+ // 1 external hyperlink (skipped from list)
+ // 4 internal hyperlinks
+ // 1 slide layout
+ assertEquals(5, rels.size());
+ int layouts = 0;
+ int hyperlinks = 0;
+ for(POIXMLDocumentPart p : rels) {
+ if(p.getPackageRelationship().getRelationshipType().equals(XSLFRelation.HYPERLINK.getRelation())) {
+ hyperlinks++;
+ } else if(p instanceof XSLFSlideLayout) {
+ layouts++;
+ }
+ }
+ assertEquals(1, layouts);
+ assertEquals(4, hyperlinks);
+
+ // Hyperlinks should all be to #_ftn1 or #ftnref1
+ for(POIXMLDocumentPart p : rels) {
+ if(p.getPackageRelationship().getRelationshipType().equals(XSLFRelation.HYPERLINK.getRelation())) {
+ URI target = p.getPackageRelationship().getTargetURI();
+
+ if(target.getFragment().equals("_ftn1") ||
+ target.getFragment().equals("_ftnref1")) {
+ // Good
+ } else {
+ fail("Invalid target " + target.getFragment() + " on " + target);
+ }
+ }
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org