From 5ec8bc815e534805a0d8c5ab6ff1d62944436509 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Thu, 2 Jun 2016 20:09:25 +0000 Subject: [PATCH] Bug 59378: Try to reproduce, but could not git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1746623 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/xwpf/usermodel/TestXWPFBugs.java | 16 ++++++++++++++++ test-data/document/59378.docx | Bin 0 -> 26063 bytes 2 files changed, 16 insertions(+) create mode 100644 test-data/document/59378.docx diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java index 0e7b2c55b2..28980da911 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFBugs.java @@ -19,6 +19,8 @@ package org.apache.poi.xwpf.usermodel; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.IOException; import org.apache.poi.util.Units; @@ -153,4 +155,18 @@ public class TestXWPFBugs { para.removeRun(para.getRuns().size() -2); assertEquals("Some text some hyper links link linkNew Text", para.getText()); } + + @Test + public void test59378() throws Exception { + XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("59378.docx"); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + doc.write(out); + out.close(); + + XWPFDocument doc2 = new XWPFDocument(new ByteArrayInputStream(out.toByteArray())); + doc2.close(); + + XWPFDocument docBack = XWPFTestDataSamples.writeOutAndReadBack(doc); + docBack.close(); + } } diff --git a/test-data/document/59378.docx b/test-data/document/59378.docx new file mode 100644 index 0000000000000000000000000000000000000000..f3939ade56deca83c414b44364b90efa19893d1f GIT binary patch literal 26063 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