aboutsummaryrefslogtreecommitdiffstats
path: root/poi/src/test
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2021-10-18 17:15:04 +0000
committerPJ Fanning <fanningpj@apache.org>2021-10-18 17:15:04 +0000
commit005810640deb3499a03bbec0cddbacc178bdb2d5 (patch)
tree941e06ad257e19690da9582d55ad320f025e942b /poi/src/test
parent5d23faf3cc0ce018b7c50bb9ac5a398c789fff2b (diff)
downloadpoi-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.java16
-rw-r--r--poi/src/test/java9/module-info.classbin4198 -> 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
index 438e778ab5..028b943d0a 100644
--- a/poi/src/test/java9/module-info.class
+++ b/poi/src/test/java9/module-info.class
Binary files differ