Try to verify handling of deeply nested xlsx
diff --git a/poi-examples/src/test/java/org/apache/poi/integration/TestXLSX2CSV.java b/poi-examples/src/test/java/org/apache/poi/integration/TestXLSX2CSV.java
index 912890d..91a64f4 100644
--- a/poi-examples/src/test/java/org/apache/poi/integration/TestXLSX2CSV.java
+++ b/poi-examples/src/test/java/org/apache/poi/integration/TestXLSX2CSV.java
@@ -18,9 +18,11 @@
package org.apache.poi.integration;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import java.io.IOException;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
@@ -197,4 +199,23 @@
return result.toString();
}
}
+
+ @Test
+ public void testDeepFile() throws Exception {
+ // returns with some System.err
+ try {
+ assertThrows(IOException.class,
+ () -> XLSX2CSV.main(new String[] { XSSFTestDataSamples.getSampleFile("deep-data.xlsx").getAbsolutePath() }));
+ } catch (Throwable e) {
+ // restore output-streams again to get proper error output
+ System.setErr(err);
+
+ throw e;
+ }
+
+ String output = errorBytes.toString(StandardCharsets.UTF_8);
+ assertFalse(output.contains("Not found"), "Had: " + output);
+
+ System.out.println(output);
+ }
}
diff --git a/test-data/spreadsheet/deep-data.xlsx b/test-data/spreadsheet/deep-data.xlsx
new file mode 100644
index 0000000..cb2a9c8
--- /dev/null
+++ b/test-data/spreadsheet/deep-data.xlsx
Binary files differ
diff --git a/test-data/spreadsheet/stress.xls b/test-data/spreadsheet/stress.xls
index f000204..ba71dc4 100644
--- a/test-data/spreadsheet/stress.xls
+++ b/test-data/spreadsheet/stress.xls
Binary files differ