You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2020/12/24 18:42:38 UTC
svn commit: r1884783 [5/40] - in /poi: site/src/documentation/content/xdocs/
trunk/ trunk/sonar/ trunk/sonar/integration-test/ trunk/sonar/ooxml/
trunk/src/excelant/poi-ant-contrib/
trunk/src/excelant/testcases/org/apache/poi/ss/excelant/ trunk/src/exc...
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestAgileEncryptionParameters.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestAgileEncryptionParameters.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestAgileEncryptionParameters.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestAgileEncryptionParameters.java Thu Dec 24 18:42:29 2020
@@ -16,16 +16,17 @@
==================================================================== */
package org.apache.poi.poifs.crypt.tests;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.List;
+import java.util.stream.Stream;
import javax.crypto.Cipher;
@@ -39,55 +40,44 @@ import org.apache.poi.poifs.crypt.Encryp
import org.apache.poi.poifs.crypt.HashAlgorithm;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.IOUtils;
-import org.junit.Assume;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
-@RunWith(Parameterized.class)
public class TestAgileEncryptionParameters {
static byte[] testData;
- @Parameter(value = 0)
- public CipherAlgorithm ca;
- @Parameter(value = 1)
- public HashAlgorithm ha;
- @Parameter(value = 2)
- public ChainingMode cm;
-
- @Parameters(name="{0} {1} {2}")
- public static Collection<Object[]> data() {
+ public static Stream<Arguments> data() {
CipherAlgorithm[] caList = {CipherAlgorithm.aes128, CipherAlgorithm.aes192, CipherAlgorithm.aes256, CipherAlgorithm.rc2, CipherAlgorithm.des, CipherAlgorithm.des3};
HashAlgorithm[] haList = {HashAlgorithm.sha1, HashAlgorithm.sha256, HashAlgorithm.sha384, HashAlgorithm.sha512, HashAlgorithm.md5};
ChainingMode[] cmList = {ChainingMode.cbc, ChainingMode.cfb};
- List<Object[]> data = new ArrayList<>();
+ List<Arguments> data = new ArrayList<>();
for (CipherAlgorithm ca : caList) {
for (HashAlgorithm ha : haList) {
for (ChainingMode cm : cmList) {
- data.add(new Object[]{ca,ha,cm});
+ data.add(Arguments.of(ca,ha,cm));
}
}
}
- return data;
+ return data.stream();
}
- @BeforeClass
+ @BeforeAll
public static void initTestData() throws Exception {
InputStream testFile = POIDataSamples.getDocumentInstance().openResourceAsStream("SampleDoc.docx");
testData = IOUtils.toByteArray(testFile);
testFile.close();
}
- @Test
- public void testAgileEncryptionModes() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testAgileEncryptionModes(CipherAlgorithm ca, HashAlgorithm ha, ChainingMode cm) throws Exception {
int maxKeyLen = Cipher.getMaxAllowedKeyLength(ca.jceId);
- Assume.assumeTrue("Please install JCE Unlimited Strength Jurisdiction Policy files", maxKeyLen >= ca.defaultKeySize);
+ assumeTrue(maxKeyLen >= ca.defaultKeySize, "Please install JCE Unlimited Strength Jurisdiction Policy files");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
@@ -111,6 +101,6 @@ public class TestAgileEncryptionParamete
byte[] actualData = IOUtils.toByteArray(is);
is.close();
fsDec.close();
- assertArrayEquals("Failed roundtrip - "+ca+"-"+ha+"-"+cm, testData, actualData);
+ assertArrayEquals(testData, actualData, "Failed roundtrip - "+ca+"-"+ha+"-"+cm);
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestDecryptor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestDecryptor.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestDecryptor.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestDecryptor.java Thu Dec 24 18:42:29 2020
@@ -16,10 +16,10 @@
==================================================================== */
package org.apache.poi.poifs.crypt.tests;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -27,7 +27,6 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.security.GeneralSecurityException;
-import java.util.stream.IntStream;
import javax.crypto.Cipher;
@@ -39,8 +38,7 @@ import org.apache.poi.poifs.crypt.Encryp
import org.apache.poi.poifs.filesystem.DirectoryNode;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.IOUtils;
-import org.junit.Assume;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class TestDecryptor {
private static final POIDataSamples samples = POIDataSamples.getPOIFSInstance();
@@ -94,7 +92,7 @@ public class TestDecryptor {
byte[] buf = new byte[10];
int readBytes = zin.read(buf);
// zin.available() doesn't work for entries
- assertEquals("size failed for " + entry.getName(), 1, readBytes);
+ assertEquals(1, readBytes, "size failed for " + entry.getName());
}
}
}
@@ -142,17 +140,14 @@ public class TestDecryptor {
final ByteArrayOutputStream bos = new ByteArrayOutputStream(10000);
try (final ZipArchiveInputStream zis = new ZipArchiveInputStream(d.getDataStream(fs))) {
- IntStream.of(3711, 1155, 445, 9376, 450, 588, 1337, 2593, 304, 7910).forEach(size -> {
- try {
- final ZipArchiveEntry ze = zis.getNextZipEntry();
- assertNotNull(ze);
- IOUtils.copy(zis, bos);
- assertEquals(size, bos.size());
- bos.reset();
- } catch (IOException e) {
- fail(e.getMessage());
- }
- });
+ int[] sizes = { 3711, 1155, 445, 9376, 450, 588, 1337, 2593, 304, 7910 };
+ for (int size : sizes) {
+ final ZipArchiveEntry ze = zis.getNextZipEntry();
+ assertNotNull(ze);
+ IOUtils.copy(zis, bos);
+ assertEquals(size, bos.size());
+ bos.reset();
+ }
}
}
}
@@ -170,7 +165,7 @@ public class TestDecryptor {
@Test
public void bug60320() throws IOException, GeneralSecurityException {
int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");
- Assume.assumeTrue("Please install JCE Unlimited Strength Jurisdiction Policy files for AES 256", maxKeyLen == 2147483647);
+ assumeTrue(maxKeyLen == 0x7FFFFFFF, "Please install JCE Unlimited Strength Jurisdiction Policy files for AES 256");
try (InputStream is = samples.openResourceAsStream("60320-protected.xlsx");
POIFSFileSystem fs = new POIFSFileSystem(is)) {
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestEncryptionInfo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestEncryptionInfo.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestEncryptionInfo.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestEncryptionInfo.java Thu Dec 24 18:42:29 2020
@@ -16,7 +16,7 @@
==================================================================== */
package org.apache.poi.poifs.crypt.tests;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
@@ -26,8 +26,7 @@ import org.apache.poi.poifs.crypt.Cipher
import org.apache.poi.poifs.crypt.EncryptionInfo;
import org.apache.poi.poifs.crypt.HashAlgorithm;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class TestEncryptionInfo {
@Test
@@ -39,11 +38,11 @@ public class TestEncryptionInfo {
assertEquals(3, info.getVersionMajor());
assertEquals(2, info.getVersionMinor());
- Assert.assertEquals(CipherAlgorithm.aes128, info.getHeader().getCipherAlgorithm());
- Assert.assertEquals(HashAlgorithm.sha1, info.getHeader().getHashAlgorithm());
+ assertEquals(CipherAlgorithm.aes128, info.getHeader().getCipherAlgorithm());
+ assertEquals(HashAlgorithm.sha1, info.getHeader().getHashAlgorithm());
assertEquals(128, info.getHeader().getKeySize());
assertEquals(32, info.getVerifier().getEncryptedVerifierHash().length);
- Assert.assertEquals(CipherProvider.aes, info.getHeader().getCipherProvider());
+ assertEquals(CipherProvider.aes, info.getHeader().getCipherProvider());
assertEquals("Microsoft Enhanced RSA and AES Cryptographic Provider", info.getHeader().getCspName());
fs.close();
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestEncryptor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestEncryptor.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestEncryptor.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestEncryptor.java Thu Dec 24 18:42:29 2020
@@ -17,11 +17,12 @@
package org.apache.poi.poifs.crypt.tests;
import static org.apache.poi.poifs.crypt.CryptoFunctions.getMessageDigest;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -62,9 +63,8 @@ import org.apache.poi.util.NullOutputStr
import org.apache.poi.util.TempFile;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
-import org.junit.Assume;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
public class TestEncryptor {
@Test
@@ -146,7 +146,7 @@ public class TestEncryptor {
@Test
public void agileEncryption() throws Exception {
int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");
- Assume.assumeTrue("Please install JCE Unlimited Strength Jurisdiction Policy files for AES 256", maxKeyLen == 2147483647);
+ assumeTrue(maxKeyLen == 0x7FFFFFFF, "Please install JCE Unlimited Strength Jurisdiction Policy files for AES 256");
File file = POIDataSamples.getDocumentInstance().getFile("bug53475-password-is-pass.docx");
String pass = "pass";
@@ -162,7 +162,7 @@ public class TestEncryptor {
infoExpected = new EncryptionInfo(nfs);
decExpected = Decryptor.getInstance(infoExpected);
boolean passed = decExpected.verifyPassword(pass);
- assertTrue("Unable to process: document is encrypted", passed);
+ assertTrue(passed, "Unable to process: document is encrypted");
// extract the payload
try (InputStream is = decExpected.getDataStream(nfs)) {
@@ -217,7 +217,7 @@ public class TestEncryptor {
infoActual2 = new EncryptionInfo(nfs.getRoot());
Decryptor decActual = Decryptor.getInstance(infoActual2);
boolean passed = decActual.verifyPassword(pass);
- assertTrue("Unable to process: document is encrypted", passed);
+ assertTrue(passed, "Unable to process: document is encrypted");
// extract the payload
try (InputStream is = decActual.getDataStream(nfs)) {
@@ -256,7 +256,7 @@ public class TestEncryptor {
infoExpected = new EncryptionInfo(nfs);
d = Decryptor.getInstance(infoExpected);
boolean passed = d.verifyPassword(pass);
- assertTrue("Unable to process: document is encrypted", passed);
+ assertTrue(passed, "Unable to process: document is encrypted");
// extract the payload
try (InputStream is = d.getDataStream(nfs)) {
@@ -317,7 +317,7 @@ public class TestEncryptor {
try (POIFSFileSystem nfs = new POIFSFileSystem(new ByteArrayInputStream(encBytes))) {
final EncryptionInfo ei = new EncryptionInfo(nfs);
Decryptor d2 = Decryptor.getInstance(ei);
- assertTrue("Unable to process: document is encrypted", d2.verifyPassword(pass));
+ assertTrue(d2.verifyPassword(pass), "Unable to process: document is encrypted");
try (InputStream is = d2.getDataStream(nfs)) {
payloadActual = IOUtils.toByteArray(is);
@@ -383,7 +383,7 @@ public class TestEncryptor {
}
@Test
- @Ignore
+ @Disabled
public void inPlaceRewrite() throws Exception {
File f = TempFile.createTempFile("protected_agile", ".docx");
@@ -462,7 +462,7 @@ public class TestEncryptor {
@Test
public void bug60320CustomEncrypt() throws Exception {
int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");
- Assume.assumeTrue("Please install JCE Unlimited Strength Jurisdiction Policy files for AES 256", maxKeyLen == 2147483647);
+ assumeTrue(maxKeyLen == 0x7FFFFFFF, "Please install JCE Unlimited Strength Jurisdiction Policy files for AES 256");
// --- src/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java (revision 1766745)
// +++ src/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java (working copy)
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestHxxFEncryption.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestHxxFEncryption.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestHxxFEncryption.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestHxxFEncryption.java Thu Dec 24 18:42:29 2020
@@ -20,18 +20,17 @@ package org.apache.poi.poifs.crypt.tests
import static org.apache.poi.POIDataSamples.getDocumentInstance;
import static org.apache.poi.POIDataSamples.getSlideShowInstance;
import static org.apache.poi.POIDataSamples.getSpreadSheetInstance;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.POIDocument;
@@ -41,28 +40,12 @@ import org.apache.poi.hssf.record.crypto
import org.apache.poi.poifs.crypt.EncryptionInfo;
import org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptionHeader;
import org.apache.poi.poifs.storage.RawDataUtil;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
-@RunWith(Parameterized.class)
public class TestHxxFEncryption {
- @Parameter
- public POIDataSamples sampleDir;
-
- @Parameter(value = 1)
- public String file;
-
- @Parameter(value = 2)
- public String password;
-
- @Parameter(value = 3)
- public String expected;
-
- @Parameters(name="{1}")
- public static Collection<Object[]> data() throws IOException {
+ public static Stream<Arguments> data() throws IOException {
final String base64 =
"H4sIAAAAAAAAAF1Uu24bMRDs/RULVwkgCUhSpHaZwkDgpHJH8fZ0G/Nx4ZI6y13yG/mRfIb9R5mlZFlIpdPtcnZmdnjPf57/vvx6+f3h6obuv3"+
"ylbY5bEiVHe1fEpUp5pOgkrK0iabehm7FyoZi1ks8xcvHiQu8h5bLnorTlnUvkJ/YPOHKsLVInAqCs91KakuaxLq4w3g00SgCo9Xou1UnCmSBe"+
@@ -74,22 +57,23 @@ public class TestHxxFEncryption {
"VZw8Pm6vn0afh4fvr0D5P/+cMuBAAA";
final String x = new String(RawDataUtil.decompress(base64), StandardCharsets.UTF_8);
- return Arrays.asList(
+ return Stream.of(
// binary rc4
- new Object[]{ getDocumentInstance(), "password_tika_binaryrc4.doc", "tika", "This is an encrypted Word 2007 File." },
+ Arguments.of( getDocumentInstance(), "password_tika_binaryrc4.doc", "tika", "This is an encrypted Word 2007 File." ),
// cryptoapi
- new Object[]{ getDocumentInstance(), "password_password_cryptoapi.doc", "password", "This is a test" },
+ Arguments.of( getDocumentInstance(), "password_password_cryptoapi.doc", "password", "This is a test" ),
// binary rc4
- new Object[]{ getSpreadSheetInstance(), "password.xls", "password", x },
+ Arguments.of( getSpreadSheetInstance(), "password.xls", "password", x ),
// cryptoapi
- new Object[]{ getSpreadSheetInstance(), "35897-type4.xls", "freedom", "Sheet1\nhello there!" },
+ Arguments.of( getSpreadSheetInstance(), "35897-type4.xls", "freedom", "Sheet1\nhello there!" ),
// cryptoapi (PPT only supports cryptoapi...)
- new Object[]{ getSlideShowInstance(), "cryptoapi-proc2356.ppt", "crypto", "Dominic Salemno" }
+ Arguments.of( getSlideShowInstance(), "cryptoapi-proc2356.ppt", "crypto", "Dominic Salemno" )
);
}
- @Test
- public void extract() throws IOException {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void extract(POIDataSamples sampleDir, String file, String password, String expected) throws IOException {
File f = sampleDir.getFile(file);
Biff8EncryptionKey.setCurrentUserPassword(password);
try (POITextExtractor te = ExtractorFactory.createExtractor(f)) {
@@ -100,17 +84,19 @@ public class TestHxxFEncryption {
}
}
- @Test
- public void changePassword() throws IOException {
- newPassword("test");
+ @ParameterizedTest
+ @MethodSource("data")
+ public void changePassword(POIDataSamples sampleDir, String file, String password, String expected) throws IOException {
+ newPassword("test", sampleDir, file, password, expected);
}
- @Test
- public void removePassword() throws IOException {
- newPassword(null);
+ @ParameterizedTest
+ @MethodSource("data")
+ public void removePassword(POIDataSamples sampleDir, String file, String password, String expected) throws IOException {
+ newPassword(null, sampleDir, file, password, expected);
}
- private void newPassword(String newPass) throws IOException {
+ private void newPassword(String newPass, POIDataSamples sampleDir, String file, String password, String expected) throws IOException {
File f = sampleDir.getFile(file);
Biff8EncryptionKey.setCurrentUserPassword(password);
try (POITextExtractor te1 = ExtractorFactory.createExtractor(f)) {
@@ -130,8 +116,9 @@ public class TestHxxFEncryption {
}
/** changing the encryption mode and key size in poor mans style - see comments below */
- @Test
- public void changeEncryption() throws IOException {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void changeEncryption(POIDataSamples sampleDir, String file, String password, String expected) throws IOException {
File f = sampleDir.getFile(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Biff8EncryptionKey.setCurrentUserPassword(password);
@@ -156,11 +143,8 @@ public class TestHxxFEncryption {
// need to cache data (i.e. read all data) before changing the key size
Class<?> clazz = doc.getClass();
if ("HSLFSlideShow".equals(clazz.getSimpleName())) {
- try {
- clazz.getDeclaredMethod("getPictureData").invoke(doc);
- } catch (ReflectiveOperationException e) {
- fail("either scratchpad jar is included and this should work or the clazz should be != HSLFSlideShowImpl");
- }
+ assertDoesNotThrow(() -> clazz.getDeclaredMethod("getPictureData").invoke(doc),
+ "either scratchpad jar is included and this should work or the clazz should be != HSLFSlideShowImpl");
doc.getDocumentSummaryInformation();
}
EncryptionInfo ei = doc.getEncryptionInfo();
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestSecureTempZip.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestSecureTempZip.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestSecureTempZip.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/tests/TestSecureTempZip.java Thu Dec 24 18:42:29 2020
@@ -17,8 +17,9 @@
package org.apache.poi.poifs.crypt.tests;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
import java.io.File;
import java.io.FileInputStream;
@@ -40,8 +41,7 @@ import org.apache.poi.xssf.extractor.XSS
import org.apache.poi.xssf.extractor.XSSFEventBasedExcelExtractor;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.xmlbeans.XmlException;
-import org.junit.Assume;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class TestSecureTempZip {
@@ -95,8 +95,7 @@ public class TestSecureTempZip {
//The test file requires that JCE unlimited be installed.
//If it isn't installed, skip this test.
int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");
- Assume.assumeTrue("Please install JCE Unlimited Strength Jurisdiction Policy files for AES 256",
- maxKeyLen == 2147483647);
+ assumeTrue(maxKeyLen == 0x7FFFFFFF, "Please install JCE Unlimited Strength Jurisdiction Policy files for AES 256");
File tikaProt = XSSFTestDataSamples.getSampleFile("protected_passtika.xlsb");
FileInputStream fis = new FileInputStream(tikaProt);
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestFonts.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestFonts.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestFonts.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestFonts.java Thu Dec 24 18:42:29 2020
@@ -18,8 +18,8 @@
package org.apache.poi.sl.tests;
import static org.apache.poi.sl.tests.SLCommonUtils.xslfOnly;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
import java.awt.Color;
import java.awt.Dimension;
@@ -46,8 +46,8 @@ import org.apache.poi.sl.usermodel.TextB
import org.apache.poi.sl.usermodel.TextParagraph;
import org.apache.poi.sl.usermodel.TextRun;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
/**
@@ -69,7 +69,7 @@ public class TestFonts {
private static final String[] INIT_FONTS = {"mona.ttf"};
- @BeforeClass
+ @BeforeAll
public static void initGE() throws FontFormatException, IOException {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
for (String s : INIT_FONTS) {
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestHeadersFooters.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestHeadersFooters.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestHeadersFooters.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestHeadersFooters.java Thu Dec 24 18:42:29 2020
@@ -20,8 +20,8 @@
package org.apache.poi.sl.tests;
import static org.apache.poi.sl.tests.SLCommonUtils.openSampleSlideshow;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.List;
@@ -31,7 +31,7 @@ import org.apache.poi.sl.usermodel.Slide
import org.apache.poi.sl.usermodel.SlideShow;
import org.apache.poi.sl.usermodel.TextParagraph;
import org.apache.poi.sl.usermodel.TextShape;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class TestHeadersFooters {
@Test
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestOleShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestOleShape.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestOleShape.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestOleShape.java Thu Dec 24 18:42:29 2020
@@ -23,10 +23,10 @@ import static org.apache.poi.sl.usermode
import static org.apache.poi.sl.usermodel.ObjectMetaData.Application.PDF;
import static org.apache.poi.sl.usermodel.ObjectMetaData.Application.WORD_V12;
import static org.apache.poi.sl.usermodel.ObjectMetaData.Application.WORD_V8;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeFalse;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
import java.awt.geom.Rectangle2D;
import java.io.ByteArrayInputStream;
@@ -37,13 +37,11 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.POIDocument;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.poifs.storage.RawDataUtil;
import org.apache.poi.sl.usermodel.ObjectMetaData;
import org.apache.poi.sl.usermodel.ObjectShape;
@@ -58,14 +56,11 @@ import org.apache.poi.util.IOUtils;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
-@RunWith(Parameterized.class)
public class TestOleShape {
private static final String PDF_SAMPLE =
"H4sIAAAAAAAAAJWUezRUWxzHe+o2FXncVtxLpxi3FPOeKYspjMdM5J1S4TTOaDIzxzpzJo9CUrnrSiUxIeT" +
@@ -98,42 +93,35 @@ public class TestOleShape {
enum Api { HSLF, XSLF }
- @Parameter(value = 0)
- public Api api;
- @Parameter(value = 1)
- public ObjectMetaData.Application app;
-
-
private static File pictureFile;
- @BeforeClass
+ @BeforeAll
public static void initPicture() {
pictureFile = POIDataSamples.getSlideShowInstance().getFile("wrench.emf");
}
-
- @Parameters(name="{0} {1}")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][] {
- { Api.HSLF, EXCEL_V8 },
- { Api.HSLF, WORD_V8 },
- { Api.HSLF, PDF },
- { Api.XSLF, EXCEL_V12 },
- { Api.XSLF, WORD_V12 },
- { Api.XSLF, PDF },
- });
+ public static Stream<Arguments> data() {
+ return Stream.of(
+ Arguments.of( Api.HSLF, EXCEL_V8 ),
+ Arguments.of( Api.HSLF, WORD_V8 ),
+ Arguments.of( Api.HSLF, PDF ),
+ Arguments.of( Api.XSLF, EXCEL_V12 ),
+ Arguments.of( Api.XSLF, WORD_V12 ),
+ Arguments.of( Api.XSLF, PDF )
+ );
}
- @Test
- public void embedData() throws IOException, InvalidFormatException, ReflectiveOperationException {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void embedData(Api api, ObjectMetaData.Application app) throws IOException, ReflectiveOperationException {
final ByteArrayInputStream pptBytes;
- try (SlideShow<?,?> ppt = createSlideShow()) {
+ try (SlideShow<?,?> ppt = createSlideShow(api)) {
final PictureData picData = ppt.addPicture(pictureFile, PictureType.EMF);
final Slide<?,?> slide = ppt.createSlide();
final ObjectShape<?,?> oleShape = slide.createOleShape(picData);
oleShape.setAnchor(new Rectangle2D.Double(100,100,100,100));
try (OutputStream os = oleShape.updateObjectData(app, null)) {
- fillOleData(os);
+ fillOleData(app, os);
}
final ByteArrayOutputStream bos = new ByteArrayOutputStream(50000);
ppt.write(bos);
@@ -142,12 +130,12 @@ public class TestOleShape {
try (SlideShow<?,?> ppt = SlideShowFactory.create(pptBytes)) {
final ObjectShape<?,?> oleShape = (ObjectShape<?,?>)ppt.getSlides().get(0).getShapes().get(0);
try (InputStream bis = oleShape.readObjectData()) {
- validateOleData(bis);
+ validateOleData(app, bis);
}
}
}
- private SlideShow<?,?> createSlideShow() throws IOException {
+ private SlideShow<?,?> createSlideShow(Api api) throws IOException {
if (api == Api.XSLF) {
return new XMLSlideShow();
} else {
@@ -157,7 +145,7 @@ public class TestOleShape {
}
- private void fillOleData(final OutputStream out) throws IOException {
+ private void fillOleData(ObjectMetaData.Application app, final OutputStream out) throws IOException {
switch (app) {
case EXCEL_V8:
case EXCEL_V12:
@@ -187,7 +175,7 @@ public class TestOleShape {
}
}
- private void validateOleData(final InputStream in) throws IOException, ReflectiveOperationException {
+ private void validateOleData(ObjectMetaData.Application app, final InputStream in) throws IOException, ReflectiveOperationException {
switch (app) {
case EXCEL_V8:
case EXCEL_V12:
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestSlide.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestSlide.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestSlide.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestSlide.java Thu Dec 24 18:42:29 2020
@@ -20,9 +20,9 @@
package org.apache.poi.sl.tests;
import static org.apache.poi.sl.tests.SLCommonUtils.xslfOnly;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeFalse;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -33,7 +33,7 @@ import org.apache.poi.sl.usermodel.Slide
import org.apache.poi.sl.usermodel.SlideShow;
import org.apache.poi.sl.usermodel.SlideShowFactory;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class TestSlide {
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestTable.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestTable.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/TestTable.java Thu Dec 24 18:42:29 2020
@@ -21,12 +21,12 @@ package org.apache.poi.sl.tests;
import static org.apache.poi.sl.tests.SLCommonUtils.openSampleSlideshow;
import static org.apache.poi.sl.tests.SLCommonUtils.xslfOnly;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
import java.awt.geom.Rectangle2D;
import java.io.ByteArrayInputStream;
@@ -41,7 +41,7 @@ import org.apache.poi.sl.usermodel.Table
import org.apache.poi.sl.usermodel.TableShape;
import org.apache.poi.sl.usermodel.TextShape.TextDirection;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class TestTable {
@@ -80,17 +80,15 @@ public class TestTable {
int colsx = tableB.getNumberOfColumns();
int rowsx = tableB.getNumberOfRows();
- assertEquals("tables should have same number of columns", cols, colsx);
- assertEquals("tables should have same number of rows", rows, rowsx);
+ assertEquals(cols, colsx, "tables should have same number of columns");
+ assertEquals(rows, rowsx, "tables should have same number of rows");
for (int i=0; i<cols; i++) {
- assertEquals("Width of column " + i + " should be equal",
- tableA.getColumnWidth(i), tableB.getColumnWidth(i), 0.2);
+ assertEquals(tableA.getColumnWidth(i), tableB.getColumnWidth(i), 0.2, "Width of column " + i + " should be equal");
}
for (int i=0; i<rows; i++) {
- assertEquals("Height of row " + i + " should be equal",
- tableA.getRowHeight(i), tableB.getRowHeight(i), 0.3);
+ assertEquals(tableA.getRowHeight(i), tableB.getRowHeight(i), 0.3, "Height of row " + i + " should be equal");
}
}
@@ -164,29 +162,29 @@ public class TestTable {
case 22:
case 51:
if (f.endsWith("ppt")) {
- assertNull(msg, tc);
+ assertNull(tc, msg);
} else {
- assertNotNull(msg, tc);
- assertTrue(msg, tc.isMerged());
+ assertNotNull(tc, msg);
+ assertTrue(tc.isMerged(), msg);
}
break;
case 21:
- assertNotNull(msg, tc);
- assertEquals(msg, 1, tc.getRowSpan());
- assertEquals(msg, 2, tc.getGridSpan());
- assertFalse(msg, tc.isMerged());
+ assertNotNull(tc, msg);
+ assertEquals(1, tc.getRowSpan(), msg);
+ assertEquals(2, tc.getGridSpan(), msg);
+ assertFalse(tc.isMerged(), msg);
break;
case 41:
- assertNotNull(msg, tc);
- assertEquals(msg, 2, tc.getRowSpan());
- assertEquals(msg, 1, tc.getGridSpan());
- assertFalse(msg, tc.isMerged());
+ assertNotNull(tc, msg);
+ assertEquals(2, tc.getRowSpan(), msg);
+ assertEquals(1, tc.getGridSpan(), msg);
+ assertFalse(tc.isMerged(), msg);
break;
default:
- assertNotNull(msg, tc);
- assertEquals(msg, 1, tc.getRowSpan());
- assertEquals(msg, 1, tc.getGridSpan());
- assertFalse(msg, tc.isMerged());
+ assertNotNull(tc, msg);
+ assertEquals(1, tc.getRowSpan(), msg);
+ assertEquals(1, tc.getGridSpan(), msg);
+ assertFalse(tc.isMerged(), msg);
break;
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/draw/TestDrawPictureShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/draw/TestDrawPictureShape.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/draw/TestDrawPictureShape.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/sl/tests/draw/TestDrawPictureShape.java Thu Dec 24 18:42:29 2020
@@ -18,9 +18,9 @@
*/
package org.apache.poi.sl.tests.draw;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assume.assumeFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
import java.awt.Dimension;
import java.awt.geom.Rectangle2D;
@@ -37,15 +37,15 @@ import org.apache.poi.sl.usermodel.Slide
import org.apache.poi.sl.usermodel.SlideShow;
import org.apache.poi.sl.usermodel.SlideShowFactory;
import org.apache.poi.util.Units;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
public class TestDrawPictureShape {
final static POIDataSamples ssSamples = POIDataSamples.getSlideShowInstance();
private static boolean xslfOnly;
- @BeforeClass
+ @BeforeAll
public static void checkHslf() {
try {
Class.forName("org.apache.poi.hslf.usermodel.HSLFSlideShow");
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java Thu Dec 24 18:42:29 2020
@@ -17,11 +17,12 @@
package org.apache.poi.ss.tests;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -32,6 +33,7 @@ import java.util.ArrayList;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
+import java.util.stream.Stream;
import org.apache.poi.EmptyFileException;
import org.apache.poi.EncryptedDocumentException;
@@ -43,18 +45,22 @@ import org.apache.poi.openxml4j.opc.Pack
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
+import org.apache.poi.util.IOUtils;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
import org.apache.poi.util.SuppressForbidden;
import org.apache.poi.util.TempFile;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbookFactory;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
public final class TestWorkbookFactory {
private static final String xls = "SampleSS.xls";
private static final String xlsx = "SampleSS.xlsx";
- private static final String[] xls_protected = new String[] {"password.xls", "password"};
+ private static final String[] xls_protected = new String[]{"password.xls", "password"};
private static final String[] xlsx_protected = new String[]{"protected_passtika.xlsx", "tika"};
private static final String txt = "SampleSS.txt";
@@ -65,15 +71,14 @@ public final class TestWorkbookFactory {
* Throws an exception if closing the workbook results in the file on disk getting modified.
*
* @param filename the sample workbook to read in
- * @param wb the workbook to close
+ * @param wb the workbook to close
*/
private static void assertCloseDoesNotModifyFile(String filename, Workbook wb) throws IOException {
final byte[] before = HSSFTestDataSamples.getTestDataFileContent(filename);
// FIXME: replace with wb.close() when bug 58779 is resolved
closeOrRevert(wb);
final byte[] after = HSSFTestDataSamples.getTestDataFileContent(filename);
- assertArrayEquals(filename + " sample file was modified as a result of closing the workbook",
- before, after);
+ assertArrayEquals(before, after, filename + " sample file was modified as a result of closing the workbook");
}
/**
@@ -85,16 +90,14 @@ public final class TestWorkbookFactory {
private static void closeOrRevert(Workbook wb) throws IOException {
if (wb instanceof HSSFWorkbook) {
wb.close();
- }
- else if (wb instanceof XSSFWorkbook) {
+ } else if (wb instanceof XSSFWorkbook) {
final XSSFWorkbook xwb = (XSSFWorkbook) wb;
if (PackageAccess.READ == xwb.getPackage().getPackageAccess()) {
xwb.close();
- }
- else {
+ } else {
// TODO: close() re-writes the sample-file?! Resort to revert() for now to close file handle...
LOGGER.log(POILogger.WARN,
- "reverting XSSFWorkbook rather than closing it to avoid close() modifying the file on disk. Refer to bug 58779.");
+ "reverting XSSFWorkbook rather than closing it to avoid close() modifying the file on disk. Refer to bug 58779.");
xwb.getPackage().revert();
}
} else {
@@ -104,298 +107,174 @@ public final class TestWorkbookFactory {
@Test
public void testCreateNative() throws Exception {
- Workbook wb;
-
// POIFS -> hssf
- wb = WorkbookFactory.create(
- new POIFSFileSystem(HSSFTestDataSamples.openSampleFileStream(xls))
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
+ try (Workbook wb = WorkbookFactory.create(
+ new POIFSFileSystem(HSSFTestDataSamples.openSampleFileStream(xls))
+ )) {
+ assertNotNull(wb);
+ assertTrue(wb instanceof HSSFWorkbook);
+ }
- wb = WorkbookFactory.create(
- new POIFSFileSystem(HSSFTestDataSamples.openSampleFileStream(xls)).getRoot()
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
+ try (Workbook wb = WorkbookFactory.create(
+ new POIFSFileSystem(HSSFTestDataSamples.openSampleFileStream(xls)).getRoot()
+ )) {
+ assertNotNull(wb);
+ assertTrue(wb instanceof HSSFWorkbook);
+ }
// Package -> xssf
- wb = XSSFWorkbookFactory.createWorkbook(
- OPCPackage.open(
- HSSFTestDataSamples.openSampleFileStream(xlsx))
- );
- assertNotNull(wb);
- //noinspection ConstantConditions
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx, wb);
+ try (Workbook wb = XSSFWorkbookFactory.createWorkbook(
+ OPCPackage.open(HSSFTestDataSamples.openSampleFileStream(xlsx))
+ )) {
+ assertNotNull(wb);
+ //noinspection ConstantConditions
+ assertTrue(wb instanceof XSSFWorkbook);
+ }
}
@Test
public void testCreateReadOnly() throws Exception {
- Workbook wb;
-
// POIFS -> hssf
- wb = WorkbookFactory.create(HSSFTestDataSamples.getSampleFile(xls), null, true);
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
+ try (Workbook wb = WorkbookFactory.create(HSSFTestDataSamples.getSampleFile(xls), null, true)) {
+ assertNotNull(wb);
+ assertTrue(wb instanceof HSSFWorkbook);
+ assertCloseDoesNotModifyFile(xls, wb);
+ }
// Package -> xssf
- wb = WorkbookFactory.create(HSSFTestDataSamples.getSampleFile(xlsx), null, true);
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx, wb);
+ try (Workbook wb = WorkbookFactory.create(HSSFTestDataSamples.getSampleFile(xlsx), null, true)) {
+ assertNotNull(wb);
+ assertTrue(wb instanceof XSSFWorkbook);
+ assertCloseDoesNotModifyFile(xlsx, wb);
+ }
}
/**
* Creates the appropriate kind of Workbook, but
- * checking the mime magic at the start of the
- * InputStream, then creating what's required.
+ * checking the mime magic at the start of the
+ * InputStream, then creating what's required.
*/
@Test
public void testCreateGeneric() throws Exception {
- Workbook wb;
-
// InputStream -> either
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xls)
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
+ try (Workbook wb = WorkbookFactory.create(HSSFTestDataSamples.openSampleFileStream(xls))) {
+ assertNotNull(wb);
+ assertTrue(wb instanceof HSSFWorkbook);
+ }
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xlsx)
- );
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx, wb);
+ try (Workbook wb = WorkbookFactory.create(HSSFTestDataSamples.openSampleFileStream(xlsx))) {
+ assertNotNull(wb);
+ assertTrue(wb instanceof XSSFWorkbook);
+ }
// File -> either
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xls)
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
+ try (Workbook wb = WorkbookFactory.create(HSSFTestDataSamples.getSampleFile(xls))) {
+ assertNotNull(wb);
+ assertTrue(wb instanceof HSSFWorkbook);
+ assertCloseDoesNotModifyFile(xls, wb);
+ }
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xlsx)
- );
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx, wb);
+ try (Workbook wb = WorkbookFactory.create(HSSFTestDataSamples.getSampleFile(xlsx))) {
+ assertNotNull(wb);
+ assertTrue(wb instanceof XSSFWorkbook);
+ assertCloseDoesNotModifyFile(xlsx, wb);
+ }
// Invalid type -> exception
final byte[] before = HSSFTestDataSamples.getTestDataFileContent(txt);
- try {
- try (InputStream stream = HSSFTestDataSamples.openSampleFileStream(txt)) {
- wb = WorkbookFactory.create(stream);
- assertNotNull(wb);
- }
- fail();
- } catch(IOException e) {
- // Good
- }
+ assertThrows(IOException.class, () -> WorkbookFactory.create(new File(txt)));
final byte[] after = HSSFTestDataSamples.getTestDataFileContent(txt);
- assertArrayEquals("Invalid type file was modified after trying to open the file as a spreadsheet",
- before, after);
+ assertArrayEquals(before, after, "Invalid type file was modified after trying to open the file as a spreadsheet");
+ }
+
+ public static Stream<Arguments> workbookPass() {
+ return Stream.of(
+ // Unprotected, no password given, opens normally
+ Arguments.of(xls, null, false, HSSFWorkbook.class),
+ Arguments.of(xlsx, null, false, XSSFWorkbook.class),
+ // Unprotected, wrong password, opens normally
+ Arguments.of(xls, "wrong", false, HSSFWorkbook.class),
+ Arguments.of(xlsx, "wrong", false, XSSFWorkbook.class),
+ // Protected, correct password, opens fine
+ Arguments.of(xls_protected[0], xls_protected[1], false, HSSFWorkbook.class),
+ Arguments.of(xlsx_protected[0], xlsx_protected[1], false, XSSFWorkbook.class),
+ // Protected, wrong password, throws Exception
+ Arguments.of(xls_protected[0], "wrong", true, HSSFWorkbook.class),
+ Arguments.of(xlsx_protected[0], "wrong", true, XSSFWorkbook.class)
+ );
}
/**
* Check that the overloaded stream methods which take passwords work properly
*/
- @Test
- public void testCreateWithPasswordFromStream() throws Exception {
- Workbook wb;
-
- // Unprotected, no password given, opens normally
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xls), null
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
-
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xlsx), null
- );
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx, wb);
-
-
- // Unprotected, wrong password, opens normally
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xls), "wrong"
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
-
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xlsx), "wrong"
- );
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx, wb);
-
-
- // Protected, correct password, opens fine
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xls_protected[0]), xls_protected[1]
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls_protected[0], wb);
-
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xlsx_protected[0]), xlsx_protected[1]
- );
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx_protected[0], wb);
-
-
- // Protected, wrong password, throws Exception
- try {
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xls_protected[0]), "wrong"
- );
- assertCloseDoesNotModifyFile(xls_protected[0], wb);
- fail("Shouldn't be able to open with the wrong password");
- } catch (EncryptedDocumentException e) {
- // expected here
- }
-
- try {
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.openSampleFileStream(xlsx_protected[0]), "wrong"
- );
- assertCloseDoesNotModifyFile(xlsx_protected[0], wb);
- fail("Shouldn't be able to open with the wrong password");
- } catch (EncryptedDocumentException e) {
- // expected here
+ @ParameterizedTest
+ @MethodSource("workbookPass")
+ public void testCreateWithPasswordFromStream(String file, String pass, boolean fails, Class<? extends Workbook> clazz) throws Exception {
+ try (InputStream is = HSSFTestDataSamples.openSampleFileStream(file)) {
+ if (fails) {
+ assertThrows(EncryptedDocumentException.class, () -> WorkbookFactory.create(is, pass),
+ "Shouldn't be able to open with the wrong password");
+ } else {
+ try (Workbook wb = WorkbookFactory.create(is, pass)) {
+ assertNotNull(wb);
+ assertTrue(clazz.isInstance(wb));
+ }
+ }
}
}
/**
* Check that the overloaded file methods which take passwords work properly
*/
- @Test
- public void testCreateWithPasswordFromFile() throws Exception {
- Workbook wb;
-
- // Unprotected, no password given, opens normally
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xls), null
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
-
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xlsx), null
- );
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx, wb);
-
- // Unprotected, wrong password, opens normally
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xls), "wrong"
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
-
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xlsx), "wrong"
- );
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertCloseDoesNotModifyFile(xlsx, wb);
-
- // Protected, correct password, opens fine
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xls_protected[0]), xls_protected[1]
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls_protected[0], wb);
-
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xlsx_protected[0]), xlsx_protected[1]
- );
- assertNotNull(wb);
- assertTrue(wb instanceof XSSFWorkbook);
- assertTrue(wb.getNumberOfSheets() > 0);
- assertNotNull(wb.getSheetAt(0));
- assertNotNull(wb.getSheetAt(0).getRow(0));
- assertCloseDoesNotModifyFile(xlsx_protected[0], wb);
-
- // Protected, wrong password, throws Exception
- try {
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xls_protected[0]), "wrong"
- );
- assertCloseDoesNotModifyFile(xls_protected[0], wb);
- fail("Shouldn't be able to open with the wrong password");
- } catch (EncryptedDocumentException e) {
- // expected here
- } finally {
- wb.close();
- }
-
- try {
- wb = WorkbookFactory.create(
- HSSFTestDataSamples.getSampleFile(xlsx_protected[0]), "wrong"
- );
- assertCloseDoesNotModifyFile(xlsx_protected[0], wb);
- fail("Shouldn't be able to open with the wrong password");
- } catch (EncryptedDocumentException e) {
- // expected here
+ @ParameterizedTest
+ @MethodSource("workbookPass")
+ public void testCreateWithPasswordFromFile(String fileName, String pass, boolean fails, Class<? extends Workbook> clazz) throws Exception {
+ File file = HSSFTestDataSamples.getSampleFile(fileName);
+ if (fails) {
+ assertThrows(EncryptedDocumentException.class, () -> WorkbookFactory.create(file, pass),
+ "Shouldn't be able to open with the wrong password");
+ } else {
+ try (Workbook wb = WorkbookFactory.create(file, pass)) {
+ assertNotNull(wb);
+ assertTrue(clazz.isInstance(wb));
+ assertCloseDoesNotModifyFile(fileName, wb);
+ }
}
}
/**
* Check that a helpful exception is given on an empty input stream
*/
- @Test(expected = EmptyFileException.class)
- public void testEmptyInputStream() throws Exception {
+ @Test
+ public void testEmptyInputStream() {
InputStream emptyStream = new ByteArrayInputStream(new byte[0]);
- WorkbookFactory.create(emptyStream);
+ assertThrows(EmptyFileException.class, () -> WorkbookFactory.create(emptyStream));
}
/**
* Check that a helpful exception is given on an empty file
*/
- @Test(expected = EmptyFileException.class)
+ @Test
public void testEmptyFile() throws Exception {
File emptyFile = TempFile.createTempFile("empty", ".poi");
- try {
- WorkbookFactory.create(emptyFile);
- fail("Shouldn't be able to create for an empty file");
- } finally {
- assertTrue(emptyFile.delete());
- }
+ assertThrows(EmptyFileException.class, () -> WorkbookFactory.create(emptyFile),
+ "Shouldn't be able to create for an empty file");
+ assertTrue(emptyFile.delete());
}
/**
- * Check that a helpful exception is raised on a non-existing file
- */
- @Test(expected = FileNotFoundException.class)
- public void testNonExistingFile() throws Exception {
+ * Check that a helpful exception is raised on a non-existing file
+ */
+ @Test
+ public void testNonExistingFile() {
File nonExistingFile = new File("notExistingFile");
assertFalse(nonExistingFile.exists());
- WorkbookFactory.create(nonExistingFile, "password", true);
+ assertThrows(FileNotFoundException.class, () -> WorkbookFactory.create(nonExistingFile, "password", true));
}
/**
* See Bugzilla bug #62831 - #WorkbookFactory.create(File) needs
- * to work for sub-classes of File too, eg JFileChooser
+ * to work for sub-classes of File too, eg JFileChooser
*/
@Test
public void testFileSubclass() throws Exception {
@@ -444,30 +323,32 @@ public final class TestWorkbookFactory {
public void testOpenManyHSSF() throws Exception {
final int size = 1000;
ExecutorService executorService = Executors.newFixedThreadPool(10);
- ArrayList<Future<Boolean>> futures = new ArrayList(size);
+ ArrayList<Future<Boolean>> futures = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
- futures.add(executorService.submit(() -> openHSSFFile()));
+ futures.add(executorService.submit(this::openHSSFFile));
}
- for (Future<Boolean> future: futures) {
+ for (Future<Boolean> future : futures) {
assertTrue(future.get());
}
}
- @Test(expected = IOException.class)
+ @Test
public void testInvalidFormatException() throws IOException {
String filename = "OPCCompliance_DerivedPartNameFAIL.docx";
- WorkbookFactory.create(POIDataSamples.getOpenXML4JInstance().openResourceAsStream(filename));
+ try (InputStream is = POIDataSamples.getOpenXML4JInstance().openResourceAsStream(filename)) {
+ assertThrows(IOException.class, () -> WorkbookFactory.create(is));
+ }
}
private boolean openHSSFFile() {
try {
// POIFS -> hssf
- Workbook wb = WorkbookFactory.create(
- new POIFSFileSystem(HSSFTestDataSamples.openSampleFileStream(xls))
- );
- assertNotNull(wb);
- assertTrue(wb instanceof HSSFWorkbook);
- assertCloseDoesNotModifyFile(xls, wb);
+ try (InputStream is = HSSFTestDataSamples.openSampleFileStream(xls)) {
+ Workbook wb = WorkbookFactory.create(new POIFSFileSystem(is));
+ assertNotNull(wb);
+ assertTrue(wb instanceof HSSFWorkbook);
+ assertCloseDoesNotModifyFile(xls, wb);
+ }
return true;
} catch (Exception e) {
return false;
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/extractor/TestEmbeddedExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/extractor/TestEmbeddedExtractor.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/extractor/TestEmbeddedExtractor.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/extractor/TestEmbeddedExtractor.java Thu Dec 24 18:42:29 2020
@@ -17,8 +17,8 @@
package org.apache.poi.ss.tests.extractor;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.IOException;
import java.io.InputStream;
@@ -38,7 +38,7 @@ import org.apache.poi.ss.extractor.Embed
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class TestEmbeddedExtractor {
private static final POIDataSamples samples = POIDataSamples.getSpreadSheetInstance();
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/format/TestCellFormatPart.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/format/TestCellFormatPart.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/format/TestCellFormatPart.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/format/TestCellFormatPart.java Thu Dec 24 18:42:29 2020
@@ -17,8 +17,8 @@
package org.apache.poi.ss.tests.format;
import static java.awt.Color.ORANGE;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.awt.Color;
import java.io.IOException;
@@ -39,9 +39,9 @@ import org.apache.poi.ss.usermodel.Sheet
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.LocaleUtil;
import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
/**
* Class for spreadsheet-based tests, such as are used for cell formatting.
@@ -63,13 +63,13 @@ public class TestCellFormatPart {
- @BeforeClass
+ @BeforeAll
public static void setLocale() {
userLocale = LocaleUtil.getUserLocale();
LocaleUtil.setUserLocale(Locale.UK);
}
- @AfterClass
+ @AfterAll
public static void unsetLocale() {
LocaleUtil.setUserLocale(userLocale);
}
@@ -80,8 +80,7 @@ public class TestCellFormatPart {
Object getValue(Cell cell);
default void equivalent(String expected, String actual, CellFormatPart format) {
- assertEquals("format \"" + format + "\"", '"' + expected + '"',
- '"' + actual + '"');
+ assertEquals('"' + expected + '"', '"' + actual + '"', "format \"" + format + "\"");
}
}
@@ -120,8 +119,7 @@ public class TestCellFormatPart {
double actualVal = extractNumber(actual);
// equal within 1%
double delta = expectedVal / 100;
- assertEquals("format \"" + format + "\"," + expected + " ~= " +
- actual, expectedVal, actualVal, delta);
+ assertEquals(expectedVal, actualVal, delta, "format \"" + format + "\"," + expected + " ~= " + actual);
}
});
}
@@ -204,7 +202,7 @@ public class TestCellFormatPart {
String actualText = label.getText();
Color actualColor = label.getForeground();
valueGetter.equivalent(expectedText, actualText, cellFormatPart);
- assertEquals("no color", expectedColor, actualColor);
+ assertEquals(expectedColor, actualColor, "no color");
}
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/TestFormulaParser.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/TestFormulaParser.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/TestFormulaParser.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/TestFormulaParser.java Thu Dec 24 18:42:29 2020
@@ -18,10 +18,10 @@
*/
package org.apache.poi.ss.tests.formula;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -38,7 +38,7 @@ import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.usermodel.XSSFEvaluationWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Test {@link FormulaParser}'s handling of row numbers at the edge of the
@@ -51,13 +51,8 @@ public class TestFormulaParser {
@Test
public void testHSSFFailsForOver65536() {
FormulaParsingWorkbook workbook = HSSFEvaluationWorkbook.create(new HSSFWorkbook());
- try {
- FormulaParser.parse("Sheet1!1:65537", workbook, FormulaType.CELL, 0);
- fail("Expected exception");
- }
- catch (FormulaParseException expected) {
- // expected here
- }
+ assertThrows(FormulaParseException.class, () ->
+ FormulaParser.parse("Sheet1!1:65537", workbook, FormulaType.CELL, 0));
}
private static void checkHSSFFormula(String formula) {
@@ -90,13 +85,8 @@ public class TestFormulaParser {
@Test
public void testXSSFFailCase() {
FormulaParsingWorkbook workbook = XSSFEvaluationWorkbook.create(new XSSFWorkbook());
- try {
- FormulaParser.parse("Sheet1!1:1048577", workbook, FormulaType.CELL, 0); // one more than max rows.
- fail("Expected exception");
- }
- catch (FormulaParseException expected) {
- // expected here
- }
+ assertThrows(FormulaParseException.class, () ->
+ FormulaParser.parse("Sheet1!1:1048577", workbook, FormulaType.CELL, 0), "one more than max rows");
}
// copied from org.apache.poi.hssf.model.TestFormulaParser
@@ -175,13 +165,9 @@ public class TestFormulaParser {
/** confirm formula has invalid syntax and parsing the formula results in FormulaParseException
*/
private static void parseExpectedException(String formula, FormulaParsingWorkbook wb) {
- try {
- FormulaParser.parse(formula, wb, FormulaType.CELL, -1);
- fail("Expected FormulaParseException: " + formula);
- } catch (final FormulaParseException e) {
- // expected during successful test
- assertNotNull(e.getMessage());
- }
+ FormulaParseException e = assertThrows(FormulaParseException.class, () ->
+ FormulaParser.parse(formula, wb, FormulaType.CELL, -1));
+ assertNotNull(e.getMessage());
}
// trivial case for bug 60219: FormulaParser can't parse external references when sheet name is quoted
@@ -191,13 +177,13 @@ public class TestFormulaParser {
XSSFEvaluationWorkbook fpwb = XSSFEvaluationWorkbook.create(wb);
Ptg[] ptgs = FormulaParser.parse("[1]Sheet1!A1", fpwb, FormulaType.CELL, -1);
// org.apache.poi.ss.formula.ptg.Ref3DPxg [ [workbook=1] sheet=Sheet 1 ! A1]
- assertEquals("Ptgs length", 1, ptgs.length);
- assertTrue("Ptg class", ptgs[0] instanceof Ref3DPxg);
+ assertEquals(1, ptgs.length, "Ptgs length");
+ assertTrue(ptgs[0] instanceof Ref3DPxg, "Ptg class");
Ref3DPxg pxg = (Ref3DPxg) ptgs[0];
- assertEquals("External workbook number", 1, pxg.getExternalWorkbookNumber());
- assertEquals("Sheet name", "Sheet1", pxg.getSheetName());
- assertEquals("Row", 0, pxg.getRow());
- assertEquals("Column", 0, pxg.getColumn());
+ assertEquals(1, pxg.getExternalWorkbookNumber(), "External workbook number");
+ assertEquals("Sheet1", pxg.getSheetName(), "Sheet name");
+ assertEquals(0, pxg.getRow(), "Row");
+ assertEquals(0, pxg.getColumn(), "Column");
wb.close();
}
@@ -208,13 +194,13 @@ public class TestFormulaParser {
XSSFEvaluationWorkbook fpwb = XSSFEvaluationWorkbook.create(wb);
Ptg[] ptgs = FormulaParser.parse("'[1]Sheet 1'!A1", fpwb, FormulaType.CELL, -1);
// org.apache.poi.ss.formula.ptg.Ref3DPxg [ [workbook=1] sheet=Sheet 1 ! A1]
- assertEquals("Ptgs length", 1, ptgs.length);
- assertTrue("Ptg class", ptgs[0] instanceof Ref3DPxg);
+ assertEquals(1, ptgs.length, "Ptgs length");
+ assertTrue(ptgs[0] instanceof Ref3DPxg, "Ptg class");
Ref3DPxg pxg = (Ref3DPxg) ptgs[0];
- assertEquals("External workbook number", 1, pxg.getExternalWorkbookNumber());
- assertEquals("Sheet name", "Sheet 1", pxg.getSheetName());
- assertEquals("Row", 0, pxg.getRow());
- assertEquals("Column", 0, pxg.getColumn());
+ assertEquals(1, pxg.getExternalWorkbookNumber(), "External workbook number");
+ assertEquals("Sheet 1", pxg.getSheetName(), "Sheet name");
+ assertEquals(0, pxg.getRow(), "Row");
+ assertEquals(0, pxg.getColumn(), "Column");
wb.close();
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/TestStructuredReferences.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/TestStructuredReferences.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/TestStructuredReferences.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/TestStructuredReferences.java Thu Dec 24 18:42:29 2020
@@ -17,10 +17,9 @@
package org.apache.poi.ss.tests.formula;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
@@ -35,7 +34,7 @@ import org.apache.poi.xssf.usermodel.XSS
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFTable;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests Excel Table expressions (structured references)
@@ -50,16 +49,16 @@ public class TestStructuredReferences {
*/
@Test
public void testTableExpressionSyntax() {
- assertTrue("Valid structured reference syntax didn't match expression", Table.isStructuredReference.matcher("abc[col1]").matches());
- assertTrue("Valid structured reference syntax didn't match expression", Table.isStructuredReference.matcher("_abc[col1]").matches());
- assertTrue("Valid structured reference syntax didn't match expression", Table.isStructuredReference.matcher("_[col1]").matches());
- assertTrue("Valid structured reference syntax didn't match expression", Table.isStructuredReference.matcher("\\[col1]").matches());
- assertTrue("Valid structured reference syntax didn't match expression", Table.isStructuredReference.matcher("\\[col1]").matches());
- assertTrue("Valid structured reference syntax didn't match expression", Table.isStructuredReference.matcher("\\[#This Row]").matches());
- assertTrue("Valid structured reference syntax didn't match expression", Table.isStructuredReference.matcher("\\[ [col1], [col2] ]").matches());
+ assertTrue(Table.isStructuredReference.matcher("abc[col1]").matches(), "Valid structured reference syntax didn't match expression");
+ assertTrue(Table.isStructuredReference.matcher("_abc[col1]").matches(), "Valid structured reference syntax didn't match expression");
+ assertTrue(Table.isStructuredReference.matcher("_[col1]").matches(), "Valid structured reference syntax didn't match expression");
+ assertTrue(Table.isStructuredReference.matcher("\\[col1]").matches(), "Valid structured reference syntax didn't match expression");
+ assertTrue(Table.isStructuredReference.matcher("\\[col1]").matches(), "Valid structured reference syntax didn't match expression");
+ assertTrue(Table.isStructuredReference.matcher("\\[#This Row]").matches(), "Valid structured reference syntax didn't match expression");
+ assertTrue(Table.isStructuredReference.matcher("\\[ [col1], [col2] ]").matches(), "Valid structured reference syntax didn't match expression");
// can't have a space between the table name and open bracket
- assertFalse("Invalid structured reference syntax didn't fail expression", Table.isStructuredReference.matcher("\\abc [ [col1], [col2] ]").matches());
+ assertFalse(Table.isStructuredReference.matcher("\\abc [ [col1], [col2] ]").matches(), "Invalid structured reference syntax didn't fail expression");
}
@Test
@@ -109,18 +108,14 @@ public class TestStructuredReferences {
private static void confirm(FormulaEvaluator fe, Cell cell, double expectedResult) {
fe.clearAllCachedResultValues();
CellValue cv = fe.evaluate(cell);
- if (cv.getCellType() != CellType.NUMERIC) {
- fail("expected numeric cell type but got " + cv.formatAsString());
- }
+ assertEquals(CellType.NUMERIC, cv.getCellType(), "expected numeric cell type but got " + cv.formatAsString());
assertEquals(expectedResult, cv.getNumberValue(), 0.0);
}
private static void confirm(FormulaEvaluator fe, Cell cell, String expectedResult) {
fe.clearAllCachedResultValues();
CellValue cv = fe.evaluate(cell);
- if (cv.getCellType() != CellType.STRING) {
- fail("expected String cell type but got " + cv.formatAsString());
- }
+ assertEquals(CellType.STRING, cv.getCellType(), "expected String cell type but got " + cv.formatAsString());
assertEquals(expectedResult, cv.getStringValue());
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/CountifsTests.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/CountifsTests.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/CountifsTests.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/CountifsTests.java Thu Dec 24 18:42:29 2020
@@ -18,8 +18,8 @@
package org.apache.poi.ss.tests.formula.functions;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
@@ -32,9 +32,9 @@ import org.apache.poi.ss.usermodel.Workb
import org.apache.poi.ss.util.SheetUtil;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
/**
* Test the COUNTIFS() function
@@ -46,7 +46,7 @@ public class CountifsTests {
/**
* initialize a workbook
*/
- @Before
+ @BeforeEach
public void before() {
// not sure why we allow this, COUNTIFS() is only available
// in OOXML, it was introduced with Office 2007
@@ -56,7 +56,7 @@ public class CountifsTests {
/**
* Close the workbook if needed
*/
- @After
+ @AfterEach
public void after() {
IOUtils.closeQuietly(workbook);
}
@@ -108,14 +108,13 @@ public class CountifsTests {
/**
* the bug returned the wrong count, this verifies the fix
- * @throws Exception if the file can't be read
*/
@Test
- public void testBug56822() throws Exception {
+ public void testBug56822() {
workbook = XSSFTestDataSamples.openSampleWorkbook("56822-Countifs.xlsx");
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
Cell cell = SheetUtil.getCell(workbook.getSheetAt(0), 0, 3);
- assertNotNull("Test workbook missing cell D1", cell);
+ assertNotNull(cell, "Test workbook missing cell D1");
CellValue evaluate = evaluator.evaluate(cell);
assertEquals(2.0d, evaluate.getNumberValue(), 0.00000000000001);
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestProper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestProper.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestProper.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestProper.java Thu Dec 24 18:42:29 2020
@@ -17,8 +17,8 @@
package org.apache.poi.ss.tests.formula.functions;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -33,7 +33,7 @@ import org.apache.poi.ss.usermodel.Sheet
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public final class TestProper {
private Cell cell11;
@@ -93,7 +93,7 @@ public final class TestProper {
cell11.setCellFormula(formulaText);
evaluator.clearAllCachedResultValues();
CellValue cv = evaluator.evaluate(cell11);
- assertEquals("Wrong result type", CellType.STRING, cv.getCellType());
+ assertEquals(CellType.STRING, cv.getCellType(), "Wrong result type");
String actualValue = cv.getStringValue();
assertEquals(expectedResult, actualValue);
}
@@ -120,7 +120,7 @@ public final class TestProper {
@Test
public void testMicroBenchmark() {
ValueEval strArg = new StringEval("some longer text that needs a number of replacements to check for runtime of different implementations");
- long start = System.currentTimeMillis();
+ // long start = System.currentTimeMillis();
for(int i = 0;i < 300000;i++) {
final ValueEval ret = TextFunction.PROPER.evaluate(new ValueEval[]{strArg}, 0, 0);
assertEquals("Some Longer Text That Needs A Number Of Replacements To Check For Runtime Of Different Implementations", ((StringEval)ret).getStringValue());
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestSumifsXSSF.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestSumifsXSSF.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestSumifsXSSF.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestSumifsXSSF.java Thu Dec 24 18:42:29 2020
@@ -19,7 +19,7 @@
package org.apache.poi.ss.tests.formula.functions;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
@@ -28,7 +28,7 @@ import org.apache.poi.ss.usermodel.Formu
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
*
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestVlookup.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestVlookup.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestVlookup.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/formula/functions/TestVlookup.java Thu Dec 24 18:42:29 2020
@@ -17,8 +17,8 @@
package org.apache.poi.ss.tests.formula.functions;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import java.io.IOException;
@@ -32,7 +32,7 @@ import org.apache.poi.ss.usermodel.Sheet
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Test the VLOOKUP function
@@ -44,10 +44,10 @@ public class TestVlookup {
try (Workbook wb = XSSFTestDataSamples.openSampleWorkbook("VLookupFullColumn.xlsx")) {
FormulaEvaluator feval = wb.getCreationHelper().createFormulaEvaluator();
feval.evaluateAll();
- assertEquals("Wrong lookup value", "Value1",
- feval.evaluate(wb.getSheetAt(0).getRow(3).getCell(1)).getStringValue());
- assertEquals("Lookup should return #N/A",
- CellType.ERROR, feval.evaluate(wb.getSheetAt(0).getRow(4).getCell(1)).getCellType());
+ assertEquals("Value1", feval.evaluate(wb.getSheetAt(0).getRow(3).getCell(1)).getStringValue(),
+ "Wrong lookup value");
+ assertEquals(CellType.ERROR, feval.evaluate(wb.getSheetAt(0).getRow(4).getCell(1)).getCellType(),
+ "Lookup should return #N/A");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org