123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315 |
- /* ====================================================================
- 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.xssf.usermodel.extensions;
-
- import static org.junit.jupiter.api.Assertions.assertEquals;
- import static org.junit.jupiter.api.Assertions.assertFalse;
- import static org.junit.jupiter.api.Assertions.assertNotNull;
- import static org.junit.jupiter.api.Assertions.assertTrue;
- import static org.junit.jupiter.api.Assertions.fail;
-
- import org.apache.poi.xssf.usermodel.XSSFOddHeader;
- import org.apache.poi.xssf.usermodel.XSSFSheet;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import org.junit.jupiter.api.AfterEach;
- import org.junit.jupiter.api.BeforeEach;
- import org.junit.jupiter.api.Disabled;
- import org.junit.jupiter.api.Test;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
-
- class TestXSSFHeaderFooter {
-
- private XSSFWorkbook wb;
- private XSSFSheet sheet;
- private XSSFHeaderFooter hO;
- private XSSFHeaderFooter hE;
- private XSSFHeaderFooter hF;
- private XSSFHeaderFooter fO;
- private XSSFHeaderFooter fE;
- private XSSFHeaderFooter fF;
-
- @BeforeEach
- void before() {
- wb = new XSSFWorkbook();
- sheet = wb.createSheet();
- hO = (XSSFHeaderFooter) sheet.getOddHeader();
- hE = (XSSFHeaderFooter) sheet.getEvenHeader();
- hF = (XSSFHeaderFooter) sheet.getFirstHeader();
- fO = (XSSFHeaderFooter) sheet.getOddFooter();
- fE = (XSSFHeaderFooter) sheet.getEvenFooter();
- fF = (XSSFHeaderFooter) sheet.getFirstFooter();
- }
-
- @AfterEach
- void after() throws Exception {
- wb.close();
- }
-
- @Test
- void testGetHeaderFooter() {
- CTHeaderFooter ctHf;
- ctHf = hO.getHeaderFooter();
- assertNotNull(ctHf);
- ctHf = hE.getHeaderFooter();
- assertNotNull(ctHf);
- ctHf = hF.getHeaderFooter();
- assertNotNull(ctHf);
- ctHf = fO.getHeaderFooter();
- assertNotNull(ctHf);
- ctHf = fE.getHeaderFooter();
- assertNotNull(ctHf);
- ctHf = fF.getHeaderFooter();
- assertNotNull(ctHf);
- }
-
- @Test
- void testGetValue() {
- assertEquals("", hO.getValue());
- assertEquals("", hE.getValue());
- assertEquals("", hF.getValue());
- assertEquals("", fO.getValue());
- assertEquals("", fE.getValue());
- assertEquals("", fF.getValue());
- hO.setLeft("Left value");
- hO.setCenter("Center value");
- hO.setRight("Right value");
- hE.setLeft("LeftEvalue");
- hE.setCenter("CenterEvalue");
- hE.setRight("RightEvalue");
- hF.setLeft("LeftFvalue");
- hF.setCenter("CenterFvalue");
- hF.setRight("RightFvalue");
- assertEquals("&CCenter value&LLeft value&RRight value", hO.getValue());
- assertEquals("&CCenterEvalue&LLeftEvalue&RRightEvalue", hE.getValue());
- assertEquals("&CCenterFvalue&LLeftFvalue&RRightFvalue", hF.getValue());
- fO.setLeft("Left value1");
- fO.setCenter("Center value1");
- fO.setRight("Right value1");
- fE.setLeft("LeftEvalue1");
- fE.setCenter("CenterEvalue1");
- fE.setRight("RightEvalue1");
- fF.setLeft("LeftFvalue1");
- fF.setCenter("CenterFvalue1");
- fF.setRight("RightFvalue1");
- assertEquals("&CCenter value1&LLeft value1&RRight value1", fO.getValue());
- assertEquals("&CCenterEvalue1&LLeftEvalue1&RRightEvalue1", fE.getValue());
- assertEquals("&CCenterFvalue1&LLeftFvalue1&RRightFvalue1", fF.getValue());
- }
-
- @Disabled("Test not yet created")
- void testAreFieldsStripped() {
- }
-
- @Disabled("Test not yet created")
- void testSetAreFieldsStripped() {
- }
-
- @Test
- void testStripFields() {
- String simple = "I am a test header";
- String withPage = "I am a&P test header";
- String withLots = "I&A am&N a&P test&T header&U";
- String withFont = "I&22 am a&\"Arial,bold\" test header";
- String withOtherAnds = "I am a&P test header&&";
- String withOtherAnds2 = "I am a&P test header&a&b";
-
- assertEquals(simple, XSSFOddHeader.stripFields(simple));
- assertEquals(simple, XSSFOddHeader.stripFields(withPage));
- assertEquals(simple, XSSFOddHeader.stripFields(withLots));
- assertEquals(simple, XSSFOddHeader.stripFields(withFont));
- assertEquals(simple + "&", XSSFOddHeader.stripFields(withOtherAnds));
- assertEquals(simple + "&a&b", XSSFOddHeader.stripFields(withOtherAnds2));
-
- // Now test the default strip flag
- hE.setCenter("Center");
- hE.setLeft("In the left");
-
- assertEquals("In the left", hE.getLeft());
- assertEquals("Center", hE.getCenter());
- assertEquals("", hE.getRight());
-
- hE.setLeft("Top &P&F&D Left");
- assertEquals("Top &P&F&D Left", hE.getLeft());
- assertFalse(hE.areFieldsStripped());
-
- hE.setAreFieldsStripped(true);
- assertEquals("Top Left", hE.getLeft());
- assertTrue(hE.areFieldsStripped());
-
- // Now even more complex
- hE.setCenter("HEADER TEXT &P&N&D&T&Z&F&F&A&V");
- assertEquals("HEADER TEXT &V", hE.getCenter());
- }
-
- @Test
- void testGetCenter() {
- assertEquals("", hO.getCenter());
- assertEquals("", hE.getCenter());
- assertEquals("", hF.getCenter());
- assertEquals("", fO.getCenter());
- assertEquals("", fE.getCenter());
- assertEquals("", fF.getCenter());
- hO.setCenter("Center value");
- hE.setCenter("CenterEvalue");
- hF.setCenter("CenterFvalue");
- assertEquals("Center value", hO.getCenter());
- assertEquals("CenterEvalue", hE.getCenter());
- assertEquals("CenterFvalue", hF.getCenter());
- fO.setCenter("Center value1");
- fE.setCenter("CenterEvalue1");
- fF.setCenter("CenterFvalue1");
- assertEquals("Center value1", fO.getCenter());
- assertEquals("CenterEvalue1", fE.getCenter());
- assertEquals("CenterFvalue1", fF.getCenter());
- }
-
- @Test
- void testGetLeft() {
- assertEquals("", hO.getLeft());
- assertEquals("", hE.getLeft());
- assertEquals("", hF.getLeft());
- assertEquals("", fO.getLeft());
- assertEquals("", fE.getLeft());
- assertEquals("", fF.getLeft());
- hO.setLeft("Left value");
- hE.setLeft("LeftEvalue");
- hF.setLeft("LeftFvalue");
- assertEquals("Left value", hO.getLeft());
- assertEquals("LeftEvalue", hE.getLeft());
- assertEquals("LeftFvalue", hF.getLeft());
- fO.setLeft("Left value1");
- fE.setLeft("LeftEvalue1");
- fF.setLeft("LeftFvalue1");
- assertEquals("Left value1", fO.getLeft());
- assertEquals("LeftEvalue1", fE.getLeft());
- assertEquals("LeftFvalue1", fF.getLeft());
- }
-
- @Test
- void testGetRight() {
- assertEquals("", hO.getValue());
- assertEquals("", hE.getValue());
- assertEquals("", hF.getValue());
- assertEquals("", fO.getValue());
- assertEquals("", fE.getValue());
- assertEquals("", fF.getValue());
- hO.setRight("Right value");
- hE.setRight("RightEvalue");
- hF.setRight("RightFvalue");
- assertEquals("Right value", hO.getRight());
- assertEquals("RightEvalue", hE.getRight());
- assertEquals("RightFvalue", hF.getRight());
- fO.setRight("Right value1");
- fE.setRight("RightEvalue1");
- fF.setRight("RightFvalue1");
- assertEquals("Right value1", fO.getRight());
- assertEquals("RightEvalue1", fE.getRight());
- assertEquals("RightFvalue1", fF.getRight());
- }
-
- @Test
- void testSetCenter() {
- assertEquals("", hO.getValue());
- assertEquals("", hE.getValue());
- assertEquals("", hF.getValue());
- assertEquals("", fO.getValue());
- assertEquals("", fE.getValue());
- assertEquals("", fF.getValue());
- hO.setCenter("Center value");
- hE.setCenter("CenterEvalue");
- hF.setCenter("CenterFvalue");
- assertEquals("&CCenter value", hO.getValue());
- assertEquals("&CCenterEvalue", hE.getValue());
- assertEquals("&CCenterFvalue", hF.getValue());
- fO.setCenter("Center value1");
- fE.setCenter("CenterEvalue1");
- fF.setCenter("CenterFvalue1");
- assertEquals("&CCenter value1", fO.getValue());
- assertEquals("&CCenterEvalue1", fE.getValue());
- assertEquals("&CCenterFvalue1", fF.getValue());
- }
-
- @Test
- void testSetLeft() {
- assertEquals("", hO.getValue());
- assertEquals("", hE.getValue());
- assertEquals("", hF.getValue());
- assertEquals("", fO.getValue());
- assertEquals("", fE.getValue());
- assertEquals("", fF.getValue());
- hO.setLeft("Left value");
- hE.setLeft("LeftEvalue");
- hF.setLeft("LeftFvalue");
- assertEquals("&LLeft value", hO.getValue());
- assertEquals("&LLeftEvalue", hE.getValue());
- assertEquals("&LLeftFvalue", hF.getValue());
- fO.setLeft("Left value1");
- fE.setLeft("LeftEvalue1");
- fF.setLeft("LeftFvalue1");
- assertEquals("&LLeft value1", fO.getValue());
- assertEquals("&LLeftEvalue1", fE.getValue());
- assertEquals("&LLeftFvalue1", fF.getValue());
- }
-
- @Test
- void testSetRight() {
- assertEquals("", hO.getValue());
- assertEquals("", hE.getValue());
- assertEquals("", hF.getValue());
- assertEquals("", fO.getValue());
- assertEquals("", fE.getValue());
- assertEquals("", fF.getValue());
- hO.setRight("Right value");
- hE.setRight("RightEvalue");
- hF.setRight("RightFvalue");
- assertEquals("&RRight value", hO.getValue());
- assertEquals("&RRightEvalue", hE.getValue());
- assertEquals("&RRightFvalue", hF.getValue());
- fO.setRight("Right value1");
- fE.setRight("RightEvalue1");
- fF.setRight("RightFvalue1");
- assertEquals("&RRight value1", fO.getValue());
- assertEquals("&RRightEvalue1", fE.getValue());
- assertEquals("&RRightFvalue1", fF.getValue());
- }
-
-
-
- @Test
- void testGetSetCenterLeftRight() {
-
- assertEquals("", fO.getCenter());
- fO.setCenter("My first center section");
- assertEquals("My first center section", fO.getCenter());
- fO.setCenter("No, let's update the center section");
- assertEquals("No, let's update the center section", fO.getCenter());
- fO.setLeft("And add a left one");
- fO.setRight("Finally the right section is added");
- assertEquals("And add a left one", fO.getLeft());
- assertEquals("Finally the right section is added", fO.getRight());
-
- // Test changing the three sections value
- fO.setCenter("Second center version");
- fO.setLeft("Second left version");
- fO.setRight("Second right version");
- assertEquals("Second center version", fO.getCenter());
- assertEquals("Second left version", fO.getLeft());
- assertEquals("Second right version", fO.getRight());
-
- }
- }
|