From 534d24dc745bca74822e7b86dabbbbb24b48b060 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Sat, 11 Jan 2025 09:23:50 +0000 Subject: Add test for bug 58805 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1923055 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/poi/hwpf/usermodel/TestBugs.java | 19 +++++++++++++++++++ test-data/document/header_footer_replace.doc | Bin 0 -> 28160 bytes 2 files changed, 19 insertions(+) create mode 100644 test-data/document/header_footer_replace.doc diff --git a/poi-scratchpad/src/test/java/org/apache/poi/hwpf/usermodel/TestBugs.java b/poi-scratchpad/src/test/java/org/apache/poi/hwpf/usermodel/TestBugs.java index bd4e0fb653..133dc655dc 100644 --- a/poi-scratchpad/src/test/java/org/apache/poi/hwpf/usermodel/TestBugs.java +++ b/poi-scratchpad/src/test/java/org/apache/poi/hwpf/usermodel/TestBugs.java @@ -27,6 +27,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; @@ -784,4 +786,21 @@ class TestBugs { assertNotNull(pictures); } } + + // + @Test + void test58805() throws IOException { + try (HWPFDocument doc = openSampleFile("header_footer_replace.doc")) { + + Range oRange = doc.getHeaderStoryRange(); + for (int i = 0; i < oRange.numCharacterRuns(); i++) { + CharacterRun run = oRange.getCharacterRun(i); + run.replaceText("_TEST_", "This text is longer than the initial text. It goes on and on without interruption."); + } + + try (FileOutputStream fos = new FileOutputStream(new File("/tmp/test.doc"))) { + doc.write(fos); + } + } + } } diff --git a/test-data/document/header_footer_replace.doc b/test-data/document/header_footer_replace.doc new file mode 100644 index 0000000000..029ccb56f2 Binary files /dev/null and b/test-data/document/header_footer_replace.doc differ -- cgit v1.2.3