Author: fanningpj
Date: Thu Oct 26 14:59:54 2023
New Revision: 1913350
URL: http://svn.apache.org/viewvc?rev=1913350&view=rev
Log:
[bug-67579] test that we do not close input stream
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java?rev=1913350&r1=1913349&r2=1913350&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java
(original)
+++
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java
Thu Oct 26 14:59:54 2023
@@ -52,8 +52,7 @@ public class XSSFTestDataSamples {
}
}
public static XSSFWorkbook openSampleWorkbook(String sampleName) {
- InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleName);
- try {
+ try (InputStream is =
HSSFTestDataSamples.openSampleFileStream(sampleName)) {
return new XSSFWorkbook(is);
} catch (IOException e) {
throw new RuntimeException(e);
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java?rev=1913350&r1=1913349&r2=1913350&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
(original)
+++
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
Thu Oct 26 14:59:54 2023
@@ -80,6 +80,7 @@ import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
@@ -1448,6 +1449,18 @@ public final class TestXSSFWorkbook exte
}
@Test
+ void testWorkbookCloseDoesNotCloseInputStream() throws Exception {
+ try (WrappedStream stream = new WrappedStream(
+ HSSFTestDataSamples.openSampleFileStream("github-321.xlsx"))) {
+ try (XSSFWorkbook wb = new XSSFWorkbook(stream)) {
+ XSSFSheet xssfSheet = wb.getSheetAt(0);
+ assertNotNull(xssfSheet);
+ }
+ assertFalse(stream.isClosed(), "stream should noy be closed by
XSSFWorkbook");
+ }
+ }
+
+ @Test
void readFromZipStream() throws IOException {
File tempFile = TempFile.createTempFile("poitest", ".zip");
try {
@@ -1492,4 +1505,21 @@ public final class TestXSSFWorkbook exte
return new CellReference(cell).formatAsString();
}
+ private static class WrappedStream extends FilterInputStream {
+ private boolean closed;
+
+ WrappedStream(InputStream stream) {
+ super(stream);
+ }
+
+ @Override
+ public void close() throws IOException {
+ super.close();
+ closed = true;
+ }
+
+ boolean isClosed() {
+ return closed;
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]