diff options
author | PJ Fanning <fanningpj@apache.org> | 2021-10-18 17:15:04 +0000 |
---|---|---|
committer | PJ Fanning <fanningpj@apache.org> | 2021-10-18 17:15:04 +0000 |
commit | 005810640deb3499a03bbec0cddbacc178bdb2d5 (patch) | |
tree | 941e06ad257e19690da9582d55ad320f025e942b /poi/src/test | |
parent | 5d23faf3cc0ce018b7c50bb9ac5a398c789fff2b (diff) | |
download | poi-005810640deb3499a03bbec0cddbacc178bdb2d5.tar.gz poi-005810640deb3499a03bbec0cddbacc178bdb2d5.zip |
[bug-65638] Remove escaping of ampersand from headers and footers created by Excel. Thanks to Viru.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894357 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poi/src/test')
-rw-r--r-- | poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java | 16 | ||||
-rw-r--r-- | poi/src/test/java9/module-info.class | bin | 4198 -> 4145 bytes |
2 files changed, 15 insertions, 1 deletions
diff --git a/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java b/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java index 22ee32af31..b703390585 100644 --- a/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java +++ b/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java @@ -69,7 +69,7 @@ final class TestHSSFHeaderFooter { assertEquals(simple, HSSFHeader.stripFields(withPage)); assertEquals(simple, HSSFHeader.stripFields(withLots)); assertEquals(simple, HSSFHeader.stripFields(withFont)); - assertEquals(simple + "&&", HSSFHeader.stripFields(withOtherAnds)); + assertEquals(simple + "&", HSSFHeader.stripFields(withOtherAnds)); assertEquals(simple + "&a&b", HSSFHeader.stripFields(withOtherAnds2)); // Now test the default strip flag @@ -192,4 +192,18 @@ final class TestHSSFHeaderFooter { assertEquals("bar", footer2.getCenter()); } } + + @Test + void testHeaderWithAmpersand() throws IOException { + try (HSSFWorkbook wb = openSampleWorkbook("AmpersandHeader.xls")) { + HSSFSheet s = wb.getSheetAt(0); + HSSFHeader h = s.getHeader(); + String header = h.getCenter(); + assertEquals("one && two &&&&", header); + + // In Excel headers fields start with '&' + // For '&' to appear as text it needs to be escaped as '&&' + assertEquals("one & two &&", HSSFHeader.stripFields(header)); + } + } } diff --git a/poi/src/test/java9/module-info.class b/poi/src/test/java9/module-info.class Binary files differindex 438e778ab5..028b943d0a 100644 --- a/poi/src/test/java9/module-info.class +++ b/poi/src/test/java9/module-info.class |