package word.w2004; import org.junit.Test; import word.api.interfaces.IElement; import word.utils.TestUtils; import word.w2004.elements.Paragraph; import junit.framework.Assert; public class Body2004Test extends Assert{ @Test public void sanityTest(){ Body2004 bd = new Body2004(); assertEquals(2, TestUtils.regexCount(bd.getContent(), "<*w:body>")); } @Test public void testAddEle(){ Body2004 bd = new Body2004(); bd.addEle(new IElement() { @Override public String getContent() { return "I am an element"; } }); assertEquals(2, TestUtils.regexCount(bd.getContent(), "<*w:body>")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "I am an element")); } @Test public void testAaddEleString(){ Body2004 bd = new Body2004(); bd.addEle("<w:p wsp:rsidR=\"008979E8\" wsp:rsidRDefault=\"008979E8\"/>"); //this is a breakline assertEquals(2, TestUtils.regexCount(bd.getContent(), "<*w:body>")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:p wsp:rsidR=\"008979E8\" wsp:rsidRDefault=\"008979E8\"/>")); } @Test public void testHeader(){ Body2004 bd = new Body2004(); bd.getHeader().addEle(Paragraph.with("header01")); assertEquals(2, TestUtils.regexCount(bd.getContent(), "<*w:hdr")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:t>header01</w:t>")); } @Test public void testFooter(){ Body2004 bd = new Body2004(); bd.getFooter().addEle(Paragraph.with("footer01")); assertEquals(2, TestUtils.regexCount(bd.getContent(), "<*w:ftr")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:t>footer01</w:t>")); } @Test public void testHeaderAndFooterSame(){ Body2004 bd = new Body2004(); bd.getHeader().addEle(Paragraph.with("header01")); bd.getFooter().addEle(Paragraph.with("footer01")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:t>header01</w:t>")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:t>footer01</w:t>")); //System.out.println(bd.getContent()); } @Test public void testHideHeaderAndFooter(){ Body2004 bd = new Body2004(); assertFalse(bd.getHeader().getHideHeaderAndFooterFirstPage());// default is false bd.getHeader().setHideHeaderAndFooterFirstPage(true); assertTrue(bd.getHeader().getHideHeaderAndFooterFirstPage()); bd.getHeader().addEle(Paragraph.with("p1")); //System.out.println(bd.getContent()); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:t>p1</w:t>")); assertEquals(2, TestUtils.regexCount(bd.getContent(), "<*w:sectPr")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:hdr w:type=\"first\">")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:ftr w:type=\"first\">")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:pgSz w:w")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:pgMar")); assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:cols w:space")); } @Test public void testshowHeaderAndFooter(){ Body2004 bd = new Body2004(); bd.getHeader().addEle(Paragraph.with("p1")); assertFalse(bd.getHeader().getHideHeaderAndFooterFirstPage());// default is false assertEquals(1, TestUtils.regexCount(bd.getContent(), "<w:t>p1</w:t>")); assertEquals(2, TestUtils.regexCount(bd.getContent(), "<*w:sectPr")); assertEquals(0, TestUtils.regexCount(bd.getContent(), "<w:hdr w:type=\"first\">")); assertEquals(0, TestUtils.regexCount(bd.getContent(), "<w:ftr w:type=\"first\">")); assertEquals(0, TestUtils.regexCount(bd.getContent(), "<w:pgSz w:w")); assertEquals(0, TestUtils.regexCount(bd.getContent(), "<w:pgMar")); assertEquals(0, TestUtils.regexCount(bd.getContent(), "<w:cols w:space")); } }