Author: fanningpj
Date: Fri Oct 27 16:48:34 2023
New Revision: 1913394

URL: http://svn.apache.org/viewvc?rev=1913394&view=rev
Log:
some tests

Added:
    
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TrackingInputStream.java 
  (with props)
Modified:
    
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/openxml4j/TestOPCPackage.java
    
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXMLSlideShow.java
    
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java

Added: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TrackingInputStream.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TrackingInputStream.java?rev=1913394&view=auto
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TrackingInputStream.java 
(added)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TrackingInputStream.java 
Fri Oct 27 16:48:34 2023
@@ -0,0 +1,40 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
+package org.apache.poi.ooxml;
+
+import java.io.FilterInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+public final class TrackingInputStream extends FilterInputStream {
+    private boolean closed;
+
+    public TrackingInputStream(InputStream stream) {
+        super(stream);
+    }
+
+    @Override
+    public void close() throws IOException {
+        super.close();
+        closed = true;
+    }
+
+    public boolean isClosed() {
+        return closed;
+    }
+}

Propchange: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/ooxml/TrackingInputStream.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/openxml4j/TestOPCPackage.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/openxml4j/TestOPCPackage.java?rev=1913394&r1=1913393&r2=1913394&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/openxml4j/TestOPCPackage.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/openxml4j/TestOPCPackage.java 
Fri Oct 27 16:48:34 2023
@@ -18,26 +18,17 @@
 package org.apache.poi.openxml4j;
 
 import org.apache.poi.hssf.HSSFTestDataSamples;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.ooxml.TrackingInputStream;
 import org.apache.poi.openxml4j.opc.OPCPackage;
-import org.apache.poi.openxml4j.util.ZipSecureFile;
-import org.apache.poi.xssf.usermodel.TestXSSFWorkbook;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.junit.jupiter.api.Test;
 
-import java.io.File;
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class TestOPCPackage {
     @Test
     void testPackageCloseClosesInputStream() throws Exception {
-        try (WrappedStream stream = new WrappedStream(
+        try (TrackingInputStream stream = new TrackingInputStream(
                      
HSSFTestDataSamples.openSampleFileStream("HeaderFooterComplexFormats.xlsx"))) {
             try (OPCPackage opcPackage = OPCPackage.open(stream)) {
                 assertFalse(opcPackage.isClosed());
@@ -48,7 +39,7 @@ class TestOPCPackage {
 
     @Test
     void testPackageCloseDoesNptCloseInputStream() throws Exception {
-        try (WrappedStream stream = new WrappedStream(
+        try (TrackingInputStream stream = new TrackingInputStream(
                 
HSSFTestDataSamples.openSampleFileStream("HeaderFooterComplexFormats.xlsx"))) {
             try (OPCPackage opcPackage = OPCPackage.open(stream, false)) {
                 assertFalse(opcPackage.isClosed());
@@ -57,22 +48,4 @@ class TestOPCPackage {
         }
     }
 
-    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;
-        }
-    }
-
 }

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXMLSlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXMLSlideShow.java?rev=1913394&r1=1913393&r2=1913394&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXMLSlideShow.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXMLSlideShow.java
 Fri Oct 27 16:48:34 2023
@@ -25,7 +25,10 @@ import static org.junit.jupiter.api.Asse
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
+import java.io.InputStream;
 
+import org.apache.poi.POIDataSamples;
+import org.apache.poi.ooxml.TrackingInputStream;
 import org.apache.poi.openxml4j.opc.OPCPackage;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.sl.usermodel.BaseTestSlideShow;
@@ -180,8 +183,32 @@ class TestXMLSlideShow extends BaseTestS
         }
     }
 
+    @Test
+    void testInputStreamClosed() throws Exception {
+        try (TrackingInputStream stream = new TrackingInputStream(
+                
POIDataSamples.getSlideShowInstance().openResourceAsStream("45545_Comment.pptx")))
 {
+            try (XMLSlideShow xmlComments = new XMLSlideShow(stream)) {
+                assertFalse(xmlComments.getSlides().isEmpty());
+            }
+            assertTrue(stream.isClosed(), "stream was closed?");
+        }
+    }
+
+    @Test
+    void testInputStreamNotClosedWhenOptionUsed() throws Exception {
+        try (TrackingInputStream stream = new TrackingInputStream(
+                
POIDataSamples.getSlideShowInstance().openResourceAsStream("45545_Comment.pptx")))
 {
+            try (XMLSlideShow xmlComments = new XMLSlideShow(stream, false)) {
+                assertFalse(xmlComments.getSlides().isEmpty());
+            }
+            assertFalse(stream.isClosed(), "stream was not closed?");
+        }
+    }
+
     @Override
     public XMLSlideShow reopen(SlideShow<XSLFShape, XSLFTextParagraph> show) 
throws IOException {
         return writeOutAndReadBack((XMLSlideShow) show);
     }
+
+
 }

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=1913394&r1=1913393&r2=1913394&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
 Fri Oct 27 16:48:34 2023
@@ -26,6 +26,7 @@ import org.apache.commons.io.output.Unsy
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.ooxml.POIXMLProperties;
+import org.apache.poi.ooxml.TrackingInputStream;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.openxml4j.opc.ContentTypes;
 import org.apache.poi.openxml4j.opc.OPCPackage;
@@ -80,7 +81,6 @@ 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;
@@ -1450,7 +1450,7 @@ public final class TestXSSFWorkbook exte
 
     @Test
     void testWorkbookCloseClosesInputStream() throws Exception {
-        try (WrappedStream stream = new WrappedStream(
+        try (TrackingInputStream stream = new TrackingInputStream(
                 HSSFTestDataSamples.openSampleFileStream("github-321.xlsx"))) {
             try (XSSFWorkbook wb = new XSSFWorkbook(stream)) {
                 XSSFSheet xssfSheet = wb.getSheetAt(0);
@@ -1462,7 +1462,7 @@ public final class TestXSSFWorkbook exte
 
     @Test
     void testWorkbookCloseCanBeStoppedFromClosingInputStream() throws 
Exception {
-        try (WrappedStream stream = new WrappedStream(
+        try (TrackingInputStream stream = new TrackingInputStream(
                 HSSFTestDataSamples.openSampleFileStream("github-321.xlsx"))) {
             // uses new constructor, available since POI 5.2.5
             try (XSSFWorkbook wb = new XSSFWorkbook(stream, false)) {
@@ -1519,21 +1519,4 @@ 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]

Reply via email to