Add unit tests for the XWPF decorator classes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@999859 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d90a7ded96
commit
c8feb1b478
@ -0,0 +1,99 @@
|
|||||||
|
/* ====================================================================
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You 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.xwpf.model;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
|
import org.apache.poi.xwpf.XWPFTestDataSamples;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFHyperlinkRun;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for the various XWPF decorators
|
||||||
|
*/
|
||||||
|
public class TestXWPFDecorators extends TestCase {
|
||||||
|
private XWPFDocument simple;
|
||||||
|
private XWPFDocument hyperlink;
|
||||||
|
private XWPFDocument comments;
|
||||||
|
|
||||||
|
protected void setUp() {
|
||||||
|
simple = XWPFTestDataSamples.openSampleDocument("SampleDoc.docx");
|
||||||
|
hyperlink = XWPFTestDataSamples.openSampleDocument("TestDocument.docx");
|
||||||
|
comments = XWPFTestDataSamples.openSampleDocument("WordWithAttachments.docx");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testHyperlink() {
|
||||||
|
XWPFParagraph ps;
|
||||||
|
XWPFParagraph ph;
|
||||||
|
assertEquals(7, simple.getParagraphs().size());
|
||||||
|
assertEquals(5, hyperlink.getParagraphs().size());
|
||||||
|
|
||||||
|
// Simple text
|
||||||
|
ps = simple.getParagraphs().get(0);
|
||||||
|
assertEquals("I am a test document", ps.getParagraphText());
|
||||||
|
assertEquals(1, ps.getRuns().size());
|
||||||
|
|
||||||
|
ph = hyperlink.getParagraphs().get(4);
|
||||||
|
assertEquals("We have a hyperlink here, and another.", ph.getParagraphText());
|
||||||
|
assertEquals(3, ph.getRuns().size());
|
||||||
|
|
||||||
|
|
||||||
|
// The proper way to do hyperlinks(!)
|
||||||
|
assertFalse(ps.getRuns().get(0) instanceof XWPFHyperlinkRun);
|
||||||
|
assertFalse(ph.getRuns().get(0) instanceof XWPFHyperlinkRun);
|
||||||
|
assertTrue(ph.getRuns().get(1) instanceof XWPFHyperlinkRun);
|
||||||
|
assertFalse(ph.getRuns().get(2) instanceof XWPFHyperlinkRun);
|
||||||
|
|
||||||
|
XWPFHyperlinkRun link = (XWPFHyperlinkRun)ph.getRuns().get(1);
|
||||||
|
assertEquals("http://poi.apache.org/", link.getHyperlink(hyperlink).getURL());
|
||||||
|
|
||||||
|
|
||||||
|
// Test the old style decorator
|
||||||
|
// You probably don't want to still be using it...
|
||||||
|
assertEquals(
|
||||||
|
"I am a test document",
|
||||||
|
(new XWPFHyperlinkDecorator(ps, null, false)).getText()
|
||||||
|
);
|
||||||
|
assertEquals(
|
||||||
|
"I am a test document",
|
||||||
|
(new XWPFHyperlinkDecorator(ps, null, true)).getText()
|
||||||
|
);
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
"We have a hyperlink here, and another.hyperlink",
|
||||||
|
(new XWPFHyperlinkDecorator(ph, null, false)).getText()
|
||||||
|
);
|
||||||
|
assertEquals(
|
||||||
|
"We have a hyperlink here, and another.hyperlink <http://poi.apache.org/>",
|
||||||
|
(new XWPFHyperlinkDecorator(ph, null, true)).getText()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testComments() {
|
||||||
|
int numComments = 0;
|
||||||
|
for(XWPFParagraph p : comments.getParagraphs()) {
|
||||||
|
XWPFCommentsDecorator d = new XWPFCommentsDecorator(p, null);
|
||||||
|
if(d.getCommentText().length() > 0) {
|
||||||
|
numComments++;
|
||||||
|
assertEquals("\tComment by", d.getCommentText().substring(0, 11));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assertEquals(3, numComments);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user