Add unit test which verifies that ThresholdInputStream can be used. This currently fails with Java 10 because the reflection relies on internals of class ZipFile that were changed.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1825818 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
fb2f23678f
commit
feace0e745
@ -0,0 +1,32 @@
|
|||||||
|
package org.apache.poi.openxml4j.util;
|
||||||
|
|
||||||
|
import org.apache.poi.openxml4j.opc.internal.ZipHelper;
|
||||||
|
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.zip.ZipEntry;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
public class TestZipSecureFile {
|
||||||
|
@Test
|
||||||
|
public void testThresholdInputStream() throws Exception {
|
||||||
|
// This fails in Java 10 because our reflection injection of the ThresholdInputStream causes a
|
||||||
|
// ClassCastException in ZipFile now
|
||||||
|
ZipSecureFile.ThresholdInputStream zis = ZipHelper.openZipStream(new FileInputStream(XSSFTestDataSamples.getSampleFile("template.xlsx")));
|
||||||
|
ZipInputStreamZipEntrySource thresholdInputStream = new ZipInputStreamZipEntrySource(zis);
|
||||||
|
|
||||||
|
ZipSecureFile secureFile = new ZipSecureFile(XSSFTestDataSamples.getSampleFile("template.xlsx"));
|
||||||
|
|
||||||
|
Enumeration<? extends ZipEntry> entries = thresholdInputStream.getEntries();
|
||||||
|
while (entries.hasMoreElements()) {
|
||||||
|
ZipEntry entry = entries.nextElement();
|
||||||
|
|
||||||
|
InputStream inputStream = secureFile.getInputStream(entry);
|
||||||
|
assertTrue(inputStream.available() > 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user