]> source.dussan.org Git - poi.git/commitdiff
[bug-65639] add test case
authorPJ Fanning <fanningpj@apache.org>
Thu, 24 Feb 2022 18:40:40 +0000 (18:40 +0000)
committerPJ Fanning <fanningpj@apache.org>
Thu, 24 Feb 2022 18:40:40 +0000 (18:40 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1898386 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/test/java/org/apache/poi/openxml4j/util/TestXSSFWorkbookWithMemoryConfigs.java [new file with mode: 0644]

diff --git a/poi-ooxml/src/test/java/org/apache/poi/openxml4j/util/TestXSSFWorkbookWithMemoryConfigs.java b/poi-ooxml/src/test/java/org/apache/poi/openxml4j/util/TestXSSFWorkbookWithMemoryConfigs.java
new file mode 100644 (file)
index 0000000..093bfc4
--- /dev/null
@@ -0,0 +1,33 @@
+package org.apache.poi.openxml4j.util;
+
+import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.RecordFormatException;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.Isolated;
+
+import static org.apache.poi.xssf.XSSFTestDataSamples.openSampleWorkbook;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+@Isolated //changes IOUtils and other static changes
+class TestXSSFWorkbookWithMemoryConfigs {
+    @Test
+    void loadXslsxWithLowThreshold() {
+        final int defaultMaxEntrySize = ZipArchiveFakeEntry.getMaxEntrySize();
+        ZipArchiveFakeEntry.setMaxEntrySize(100);
+        try {
+            assertThrows(RecordFormatException.class, () -> openSampleWorkbook("Formatting.xlsx"));
+            IOUtils.setByteArrayMaxOverride(Integer.MAX_VALUE);
+            assertDoesNotThrow(() -> {
+                try(XSSFWorkbook wb = openSampleWorkbook("Formatting.xlsx")) {
+                    assertNotNull(wb.getSheetAt(0));
+                }
+            });
+        } finally {
+            ZipArchiveFakeEntry.setMaxEntrySize(defaultMaxEntrySize);
+            IOUtils.setByteArrayMaxOverride(-1);
+        }
+    }
+}