Add more unit tests for XWPF Headers and Footers
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1575599 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d5c8510750
commit
09adb72510
@ -150,8 +150,8 @@ public class XWPFHeaderFooterPolicy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an empty header of the specified type, to
|
* Creates an empty header of the specified type, containing a single
|
||||||
* which you can then create paragraphs and set text etc.
|
* empty paragraph, to which you can then set text, add more paragraphs etc.
|
||||||
*/
|
*/
|
||||||
public XWPFHeader createHeader(Enum type) throws IOException {
|
public XWPFHeader createHeader(Enum type) throws IOException {
|
||||||
return createHeader(type, null);
|
return createHeader(type, null);
|
||||||
@ -184,8 +184,8 @@ public class XWPFHeaderFooterPolicy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an empty footer of the specified type, to
|
* Creates an empty footer of the specified type, containing a single
|
||||||
* which you can then create paragraphs and set text etc.
|
* empty paragraph, to which you can then set text, add more paragraphs etc.
|
||||||
*/
|
*/
|
||||||
public XWPFFooter createFooter(Enum type) throws IOException {
|
public XWPFFooter createFooter(Enum type) throws IOException {
|
||||||
return createFooter(type, null);
|
return createFooter(type, null);
|
||||||
|
@ -62,7 +62,8 @@ public final class TestXWPFHeader extends TestCase {
|
|||||||
CTP ctP1 = CTP.Factory.newInstance();
|
CTP ctP1 = CTP.Factory.newInstance();
|
||||||
CTR ctR1 = ctP1.addNewR();
|
CTR ctR1 = ctP1.addNewR();
|
||||||
CTText t = ctR1.addNewT();
|
CTText t = ctR1.addNewT();
|
||||||
t.setStringValue("Paragraph in header");
|
String tText = "Paragraph in header";
|
||||||
|
t.setStringValue(tText);
|
||||||
|
|
||||||
// Commented MB 23 May 2010
|
// Commented MB 23 May 2010
|
||||||
//CTP ctP2 = CTP.Factory.newInstance();
|
//CTP ctP2 = CTP.Factory.newInstance();
|
||||||
@ -93,8 +94,8 @@ public final class TestXWPFHeader extends TestCase {
|
|||||||
pars2[1] = p3;
|
pars2[1] = p3;
|
||||||
|
|
||||||
// Set headers
|
// Set headers
|
||||||
policy.createHeader(policy.DEFAULT, pars);
|
XWPFHeader headerD = policy.createHeader(policy.DEFAULT, pars);
|
||||||
policy.createHeader(policy.FIRST);
|
XWPFHeader headerF = policy.createHeader(policy.FIRST);
|
||||||
// Set a default footer and capture the returned XWPFFooter object.
|
// Set a default footer and capture the returned XWPFFooter object.
|
||||||
XWPFFooter footer = policy.createFooter(policy.DEFAULT, pars2);
|
XWPFFooter footer = policy.createFooter(policy.DEFAULT, pars2);
|
||||||
|
|
||||||
@ -106,20 +107,58 @@ public final class TestXWPFHeader extends TestCase {
|
|||||||
// paragraphs of text.
|
// paragraphs of text.
|
||||||
assertEquals(2, footer.getParagraphs().size());
|
assertEquals(2, footer.getParagraphs().size());
|
||||||
|
|
||||||
|
// Check the header created with the paragraph got them, and the one
|
||||||
|
// created without got an empty one
|
||||||
|
assertEquals(1, headerD.getParagraphs().size());
|
||||||
|
assertEquals(1, headerF.getParagraphs().size());
|
||||||
|
|
||||||
|
assertEquals(tText, headerD.getParagraphs().get(0).getText());
|
||||||
|
assertEquals("", headerF.getParagraphs().get(0).getText());
|
||||||
|
|
||||||
// As an additional check, recover the defauls footer and
|
// As an additional check, recover the defauls footer and
|
||||||
// make sure that it contains two paragraphs of text and that
|
// make sure that it contains two paragraphs of text and that
|
||||||
// both do hold what is expected.
|
// both do hold what is expected.
|
||||||
footer = policy.getDefaultFooter();
|
footer = policy.getDefaultFooter();
|
||||||
|
XWPFParagraph[] paras = footer.getParagraphs().toArray(new XWPFParagraph[0]);
|
||||||
XWPFParagraph[] paras = new XWPFParagraph[footer.getParagraphs().size()];
|
|
||||||
int i=0;
|
|
||||||
for(XWPFParagraph p : footer.getParagraphs()) {
|
|
||||||
paras[i++] = p;
|
|
||||||
}
|
|
||||||
|
|
||||||
assertEquals(2, paras.length);
|
assertEquals(2, paras.length);
|
||||||
assertEquals("First paragraph for the footer", paras[0].getText());
|
assertEquals("First paragraph for the footer", paras[0].getText());
|
||||||
assertEquals("Second paragraph for the footer", paras[1].getText());
|
assertEquals("Second paragraph for the footer", paras[1].getText());
|
||||||
|
|
||||||
|
|
||||||
|
// Add some text to the empty header
|
||||||
|
String fText1 = "New Text!";
|
||||||
|
headerF.getParagraphs().get(0).insertNewRun(0).setText(fText1);
|
||||||
|
// TODO Add another paragraph and check
|
||||||
|
|
||||||
|
// Check it
|
||||||
|
assertEquals(tText, headerD.getParagraphs().get(0).getText());
|
||||||
|
assertEquals(fText1, headerF.getParagraphs().get(0).getText());
|
||||||
|
|
||||||
|
|
||||||
|
// Save, re-open, ensure it's all still there
|
||||||
|
XWPFDocument reopened = XWPFTestDataSamples.writeOutAndReadBack(sampleDoc);
|
||||||
|
policy = reopened.getHeaderFooterPolicy();
|
||||||
|
assertNotNull(policy.getDefaultHeader());
|
||||||
|
assertNotNull(policy.getFirstPageHeader());
|
||||||
|
assertNull(policy.getEvenPageHeader());
|
||||||
|
assertNotNull(policy.getDefaultFooter());
|
||||||
|
assertNull(policy.getFirstPageFooter());
|
||||||
|
assertNull(policy.getEvenPageFooter());
|
||||||
|
|
||||||
|
// Check the new headers still have their text
|
||||||
|
headerD = policy.getDefaultHeader();
|
||||||
|
headerF = policy.getFirstPageHeader();
|
||||||
|
assertEquals(tText, headerD.getParagraphs().get(0).getText());
|
||||||
|
assertEquals(fText1, headerF.getParagraphs().get(0).getText());
|
||||||
|
|
||||||
|
// Check the new footers have their new text too
|
||||||
|
footer = policy.getDefaultFooter();
|
||||||
|
paras = footer.getParagraphs().toArray(new XWPFParagraph[0]);
|
||||||
|
|
||||||
|
assertEquals(2, paras.length);
|
||||||
|
assertEquals("First paragraph for the footer", paras[0].getText());
|
||||||
|
assertEquals("Second paragraph for the footer", paras[1].getText());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testSetWatermark() throws IOException {
|
public void testSetWatermark() throws IOException {
|
||||||
|
Loading…
Reference in New Issue
Block a user