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 2021/08/28 23:48:49 UTC

svn commit: r1892683 [1/4] - in /poi/trunk: ./ poi-examples/ poi-excelant/ poi-integration/ poi-integration/src/test/java/org/apache/poi/stress/ poi-ooxml-lite/ poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/ poi-ooxml/src/main/java/org/apache...

Author: kiwiwings
Date: Sat Aug 28 23:48:48 2021
New Revision: 1892683

URL: http://svn.apache.org/viewvc?rev=1892683&view=rev
Log:
sonar fixes
close resources in tests
fix gradle warnings

Modified:
    poi/trunk/build.gradle
    poi/trunk/poi-examples/build.gradle
    poi/trunk/poi-excelant/build.gradle
    poi/trunk/poi-integration/build.gradle
    poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/BaseIntegrationTest.java
    poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/XSSFFileHandler.java
    poi/trunk/poi-ooxml-lite/build.gradle
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/DigestOutputStream.java
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFConditionalFormattingThreshold.java
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFIconMultiStateFormatting.java
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbookFactory.java
    poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
    poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java
    poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
    poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
    poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFFont.java
    poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusBrush.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emfplus/HemfPlusImage.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/EscherTextboxWrapper.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjStg.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawingGroup.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordContainer.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextPropAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwmf/usermodel/HwmfEmbeddedIterator.java
    poi/trunk/poi/build.gradle
    poi/trunk/poi/src/main/java/org/apache/poi/hpsf/ClassID.java
    poi/trunk/poi/src/main/java/org/apache/poi/hpsf/PropertySet.java
    poi/trunk/poi/src/main/java/org/apache/poi/hpsf/Section.java
    poi/trunk/poi/src/main/java/org/apache/poi/hssf/record/RecordInputStream.java
    poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java
    poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingThreshold.java
    poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFIconMultiStateFormatting.java
    poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFWorkbookFactory.java
    poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/cryptoapi/CryptoAPIDecryptor.java
    poi/trunk/poi/src/main/java/org/apache/poi/poifs/macros/VBAMacroReader.java
    poi/trunk/poi/src/main/java/org/apache/poi/ss/extractor/EmbeddedExtractor.java
    poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/ConditionalFormattingThreshold.java
    poi/trunk/poi/src/main/java/org/apache/poi/util/GenericRecordJsonWriter.java
    poi/trunk/poi/src/main/java/org/apache/poi/util/IOUtils.java
    poi/trunk/poi/src/test/java/org/apache/poi/POITestCase.java
    poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
    poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestSheet.java
    poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestSheetShiftRows.java
    poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestWorkbook.java

Modified: poi/trunk/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/build.gradle?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/build.gradle (original)
+++ poi/trunk/build.gradle Sat Aug 28 23:48:48 2021
@@ -209,7 +209,7 @@ subprojects {
         // make XML test-results available for Jenkins CI
         useJUnitPlatform()
         reports {
-            junitXml.enabled = true
+            junitXml.required = true
         }
 
         // Exclude some tests that are not actually tests or do not run cleanly on purpose
@@ -238,7 +238,7 @@ subprojects {
             "-Dversion.id=${project.version}",
             '-ea',
             '-Djunit.jupiter.execution.parallel.config.strategy=fixed',
-            '-Djunit.jupiter.execution.parallel.config.fixed.parallelism=3'
+            '-Djunit.jupiter.execution.parallel.config.fixed.parallelism=2'
             // -Xjit:verbose={compileStart|compileEnd},vlog=build/jit.log${no.jit.sherlock}   ... if ${isIBMVM}
         ]
 
@@ -278,7 +278,7 @@ subprojects {
 
     jacocoTestReport {
         reports {
-            xml.enabled true
+            xml.required = true
         }
     }
 
@@ -396,6 +396,7 @@ subprojects {
 
     spotbugs {
         ignoreFailures = true
+        showStackTraces = false
     }
 }
 
@@ -536,7 +537,7 @@ task replaceVersion() {
 
 task zipJavadocs(type: Zip, dependsOn: allJavaDoc) {
     from('build/docs/javadoc/')
-    destinationDir = file('build/dist')
+    destinationDirectory = file('build/dist')
     archiveBaseName = 'poi'
     archiveVersion = subprojects[0].version
     archiveAppendix = 'javadoc'

Modified: poi/trunk/poi-examples/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi-examples/build.gradle?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-examples/build.gradle (original)
+++ poi/trunk/poi-examples/build.gradle Sat Aug 28 23:48:48 2021
@@ -65,6 +65,8 @@ task cacheJava9(type: Copy) {
 }
 
 jar {
+    dependsOn cacheJava9
+
     destinationDirectory = file("../build/dist/maven/${project.archivesBaseName}")
 
     if (JavaVersion.current() == JavaVersion.VERSION_1_8) {

Modified: poi/trunk/poi-excelant/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi-excelant/build.gradle?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-excelant/build.gradle (original)
+++ poi/trunk/poi-excelant/build.gradle Sat Aug 28 23:48:48 2021
@@ -105,6 +105,8 @@ task cacheTest9(type: Copy) {
 }
 
 jar {
+    dependsOn cacheJava9
+
     destinationDirectory = file("../build/dist/maven/${project.archivesBaseName}")
 
     if (JavaVersion.current() == JavaVersion.VERSION_1_8) {
@@ -120,7 +122,7 @@ jar {
 
 // Create a separate jar for test-code to depend on it in other projects
 // See http://stackoverflow.com/questions/5144325/gradle-test-dependency
-task testJar(type: Jar, dependsOn: testClasses) {
+task testJar(type: Jar, dependsOn: [ testClasses, cacheTest9 ] ) {
     destinationDirectory = file("../build/dist/maven/${project.archivesBaseName}-tests")
 
     classifier 'tests'

Modified: poi/trunk/poi-integration/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi-integration/build.gradle?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-integration/build.gradle (original)
+++ poi/trunk/poi-integration/build.gradle Sat Aug 28 23:48:48 2021
@@ -96,7 +96,7 @@ jar {
 
 // Create a separate jar for test-code to depend on it in other projects
 // See http://stackoverflow.com/questions/5144325/gradle-test-dependency
-task testJar(type: Jar, dependsOn: testClasses) {
+task testJar(type: Jar, dependsOn: [ testClasses, cacheTest9 ] ) {
     destinationDirectory = file("../build/dist/maven/${project.archivesBaseName}-tests")
 
     classifier 'tests'

Modified: poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/BaseIntegrationTest.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/BaseIntegrationTest.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/BaseIntegrationTest.java (original)
+++ poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/BaseIntegrationTest.java Sat Aug 28 23:48:48 2021
@@ -37,6 +37,7 @@ import org.apache.poi.poifs.filesystem.O
  * types of files/exceptions, e.g. old file formats.
  *
  */
+@SuppressWarnings({"java:S2187", "unused"})
 public class BaseIntegrationTest {
     private final File rootDir;
     private final String file;

Modified: poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/XSSFFileHandler.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/XSSFFileHandler.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/XSSFFileHandler.java (original)
+++ poi/trunk/poi-integration/src/test/java/org/apache/poi/stress/XSSFFileHandler.java Sat Aug 28 23:48:48 2021
@@ -17,6 +17,8 @@
 package org.apache.poi.stress;
 
 import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
+import static org.apache.poi.xssf.XSSFTestDataSamples.getSampleFile;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -219,12 +221,14 @@ class XSSFFileHandler extends Spreadshee
     }
 
     @Test
-    void testExtracting() throws Exception {
-        handleExtracting(new File("test-data/spreadsheet/ref-56737.xlsx"));
+    void testExtracting() {
+        File testFile = getSampleFile("ref-56737.xlsx");
+        assertDoesNotThrow(() -> handleExtracting(testFile));
     }
 
     @Test
-    void testAdditional() throws Exception {
-        handleAdditional(new File("test-data/spreadsheet/poc-xmlbomb.xlsx"));
+    void testAdditional() {
+        File testFile = getSampleFile("poc-xmlbomb.xlsx");
+        assertDoesNotThrow(() -> handleAdditional(testFile));
     }
 }

Modified: poi/trunk/poi-ooxml-lite/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml-lite/build.gradle?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml-lite/build.gradle (original)
+++ poi/trunk/poi-ooxml-lite/build.gradle Sat Aug 28 23:48:48 2021
@@ -141,3 +141,5 @@ jar {
     }
 }
 
+spotbugsTest.enabled = false
+spotbugsMain.enabled = false
\ No newline at end of file

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/DigestOutputStream.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/DigestOutputStream.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/DigestOutputStream.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/DigestOutputStream.java Sat Aug 28 23:48:48 2021
@@ -66,13 +66,14 @@ import org.ietf.jgss.Oid;
     }
 
     public byte[] sign() throws IOException, GeneralSecurityException {
-        UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
-        bos.write(getHashMagic());
-        bos.write(md.digest());
-
-        final Cipher cipher = CryptoFunctions.getCipher(key, CipherAlgorithm.rsa
-            , ChainingMode.ecb, null, Cipher.ENCRYPT_MODE, "PKCS1Padding");
-        return cipher.doFinal(bos.toByteArray());
+        try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) {
+            bos.write(getHashMagic());
+            bos.write(md.digest());
+
+            final Cipher cipher = CryptoFunctions.getCipher(key, CipherAlgorithm.rsa
+                , ChainingMode.ecb, null, Cipher.ENCRYPT_MODE, "PKCS1Padding");
+            return cipher.doFinal(bos.toByteArray());
+        }
     }
 
     static boolean isMSCapi(final PrivateKey key) {
@@ -91,10 +92,9 @@ import org.ietf.jgss.Oid;
         // in an earlier release the hashMagic (aka DigestAlgorithmIdentifier) contained only
         // an object identifier, but to conform with the header generated by the
         // javax-signature API, the empty <associated parameters> are also included
-        try {
+        try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) {
             final byte[] oidBytes = new Oid(algo.rsaOid).getDER();
 
-            final UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
             bos.write(0x30);
             bos.write(algo.hashSize+oidBytes.length+6);
             bos.write(0x30);

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/OOXMLURIDereferencer.java Sat Aug 28 23:48:48 2021
@@ -90,12 +90,13 @@ public class OOXMLURIDereferencer implem
                 // although xmlsec has an option to ignore line breaks, currently this
                 // only affects .rels files, so we only modify these
                 // http://stackoverflow.com/questions/4728300
-                UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
-                for (int ch; (ch = dataStream.read()) != -1; ) {
-                    if (ch == 10 || ch == 13) continue;
-                    bos.write(ch);
+                try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) {
+                    for (int ch; (ch = dataStream.read()) != -1; ) {
+                        if (ch == 10 || ch == 13) continue;
+                        bos.write(ch);
+                    }
+                    dataStream = bos.toInputStream();
                 }
-                dataStream = bos.toInputStream();
             }
         } catch (IOException e) {
             throw new URIReferenceException("I/O error: " + e.getMessage(), e);

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java Sat Aug 28 23:48:48 2021
@@ -289,8 +289,7 @@ public class XAdESXLSignatureFacet imple
     }
 
     public static byte[] getC14nValue(List<Node> nodeList, String c14nAlgoId) {
-        UnsynchronizedByteArrayOutputStream c14nValue = new UnsynchronizedByteArrayOutputStream();
-        try {
+        try (UnsynchronizedByteArrayOutputStream c14nValue = new UnsynchronizedByteArrayOutputStream()) {
             for (Node node : nodeList) {
                 /*
                  * Re-initialize the c14n else the namespaces will get cached
@@ -299,12 +298,12 @@ public class XAdESXLSignatureFacet imple
                 Canonicalizer c14n = Canonicalizer.getInstance(c14nAlgoId);
                 c14n.canonicalizeSubtree(node, c14nValue);
             }
+            return c14nValue.toByteArray();
         } catch (RuntimeException e) {
             throw e;
         } catch (Exception e) {
             throw new RuntimeException("c14n error: " + e.getMessage(), e);
         }
-        return c14nValue.toByteArray();
     }
 
     private BigInteger getCrlNumber(X509CRL crl) {

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFConditionalFormattingThreshold.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFConditionalFormattingThreshold.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFConditionalFormattingThreshold.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFConditionalFormattingThreshold.java Sat Aug 28 23:48:48 2021
@@ -27,34 +27,39 @@ import org.openxmlformats.schemas.spread
  *  Colour Scale change thresholds
  */
 public class XSSFConditionalFormattingThreshold implements org.apache.poi.ss.usermodel.ConditionalFormattingThreshold {
-    private CTCfvo cfvo;
-    
+    private final CTCfvo cfvo;
+
     protected XSSFConditionalFormattingThreshold(CTCfvo cfvo) {
         this.cfvo = cfvo;
     }
-    
+
     protected CTCfvo getCTCfvo() {
         return cfvo;
     }
 
+    @Override
     public RangeType getRangeType() {
         return RangeType.byName(cfvo.getType().toString());
     }
+    @Override
     public void setRangeType(RangeType type) {
         STCfvoType.Enum xtype = STCfvoType.Enum.forString(type.name);
         cfvo.setType(xtype);
     }
 
+    @Override
     public String getFormula() {
         if (cfvo.getType() == STCfvoType.FORMULA) {
             return cfvo.getVal();
         }
         return null;
     }
+    @Override
     public void setFormula(String formula) {
         cfvo.setVal(formula);
     }
 
+    @Override
     public Double getValue() {
         if (cfvo.getType() == STCfvoType.FORMULA ||
             cfvo.getType() == STCfvoType.MIN ||
@@ -67,6 +72,7 @@ public class XSSFConditionalFormattingTh
             return null;
         }
     }
+    @Override
     public void setValue(Double value) {
         if (value == null) {
             cfvo.unsetVal();

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFIconMultiStateFormatting.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFIconMultiStateFormatting.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFIconMultiStateFormatting.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFIconMultiStateFormatting.java Sat Aug 28 23:48:48 2021
@@ -25,7 +25,7 @@ import org.openxmlformats.schemas.spread
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STIconSetType;
 
 /**
- * High level representation for Icon / Multi-State Formatting 
+ * High level representation for Icon / Multi-State Formatting
  *  component of Conditional Formatting settings
  */
 public class XSSFIconMultiStateFormatting implements IconMultiStateFormatting {
@@ -35,42 +35,50 @@ public class XSSFIconMultiStateFormattin
         _iconset = iconset;
     }
 
+    @Override
     public IconSet getIconSet() {
         String set = _iconset.getIconSet().toString();
         return IconSet.byName(set);
     }
+    @Override
     public void setIconSet(IconSet set) {
         STIconSetType.Enum xIconSet = STIconSetType.Enum.forString(set.name);
         _iconset.setIconSet(xIconSet);
     }
 
+    @Override
     public boolean isIconOnly() {
         if (_iconset.isSetShowValue())
             return !_iconset.getShowValue();
         return false;
     }
+    @Override
     public void setIconOnly(boolean only) {
         _iconset.setShowValue(!only);
     }
 
+    @Override
     public boolean isReversed() {
         if (_iconset.isSetReverse())
             return _iconset.getReverse();
         return false;
     }
+    @Override
     public void setReversed(boolean reversed) {
         _iconset.setReverse(reversed);
     }
 
+    @Override
     public XSSFConditionalFormattingThreshold[] getThresholds() {
         CTCfvo[] cfvos = _iconset.getCfvoArray();
-        XSSFConditionalFormattingThreshold[] t = 
+        XSSFConditionalFormattingThreshold[] t =
                 new XSSFConditionalFormattingThreshold[cfvos.length];
         for (int i=0; i<cfvos.length; i++) {
             t[i] = new XSSFConditionalFormattingThreshold(cfvos[i]);
         }
         return t;
     }
+    @Override
     public void setThresholds(ConditionalFormattingThreshold[] thresholds) {
         CTCfvo[] cfvos = new CTCfvo[thresholds.length];
         for (int i=0; i<thresholds.length; i++) {
@@ -78,6 +86,7 @@ public class XSSFIconMultiStateFormattin
         }
         _iconset.setCfvoArray(cfvos);
     }
+    @Override
     public XSSFConditionalFormattingThreshold createThreshold() {
         return new XSSFConditionalFormattingThreshold(_iconset.addNewCfvo());
     }

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbookFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbookFactory.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbookFactory.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFWorkbookFactory.java Sat Aug 28 23:48:48 2021
@@ -139,6 +139,7 @@ public class XSSFWorkbookFactory impleme
      *  @throws IOException if an error occurs while reading the data
      *  @throws EncryptedDocumentException If the wrong password is given for a protected file
      */
+    @Override
     @SuppressWarnings("resource")
     public XSSFWorkbook create(File file, String password, boolean readOnly) throws IOException {
         FileMagic fm = FileMagic.valueOf(file);

Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java Sat Aug 28 23:48:48 2021
@@ -45,7 +45,6 @@ import org.apache.poi.xssf.XSSFTestDataS
 import org.apache.poi.xssf.model.MapInfo;
 import org.apache.poi.xssf.usermodel.XSSFMap;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -216,15 +215,13 @@ public final class TestXSSFExportToXML {
     }
 
     @Test
-    @Disabled(value="Fails, but I don't know if it is ok or not...")
     void testExportToXMLSingleAttributeNamespace() throws Exception {
         try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMapping-singleattributenamespace.xlsx")) {
-
             for (XSSFMap map : wb.getCustomXMLMappings()) {
                 XSSFExportToXml exporter = new XSSFExportToXml(map);
-
                 UnsynchronizedByteArrayOutputStream os = new UnsynchronizedByteArrayOutputStream();
-                exporter.exportToXML(os, true);
+                SAXParseException ex = assertThrows(SAXParseException.class, () -> exporter.exportToXML(os, true));
+                assertEquals("schema_reference: Failed to read schema document 'Schema11', because 'file' access is not allowed due to restriction set by the accessExternalSchema property.", ex.getMessage().trim());
             }
         }
     }

Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java Sat Aug 28 23:48:48 2021
@@ -41,6 +41,8 @@ import org.apache.poi.xssf.usermodel.XSS
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
 
 public final class TestDeferredSXSSFWorkbook extends BaseTestXWorkbook {
 
@@ -90,112 +92,109 @@ public final class TestDeferredSXSSFWork
 
     @Test
     void existingWorkbook() throws IOException {
-        XSSFWorkbook xssfWb1 = new XSSFWorkbook();
-        xssfWb1.createSheet("S1");
-        DeferredSXSSFWorkbook wb1 = new DeferredSXSSFWorkbook(xssfWb1);
-        XSSFWorkbook xssfWb2 = DeferredSXSSFITestDataProvider.instance.writeOutAndReadBack(wb1);
-        assertTrue(wb1.dispose());
-
-        DeferredSXSSFWorkbook wb2 = new DeferredSXSSFWorkbook(xssfWb2);
-        assertEquals(1, wb2.getNumberOfSheets());
-        Sheet sheet = wb2.getStreamingSheetAt(0);
-        assertNotNull(sheet);
-        assertEquals("S1", sheet.getSheetName());
-        assertTrue(wb2.dispose());
-        xssfWb2.close();
-        xssfWb1.close();
-
-        wb2.close();
-        wb1.close();
+        try (XSSFWorkbook xssfWb1 = new XSSFWorkbook()) {
+            xssfWb1.createSheet("S1");
+            try (DeferredSXSSFWorkbook wb1 = new DeferredSXSSFWorkbook(xssfWb1);
+                 XSSFWorkbook xssfWb2 = DeferredSXSSFITestDataProvider.instance.writeOutAndReadBack(wb1)) {
+                assertTrue(wb1.dispose());
+
+                try (DeferredSXSSFWorkbook wb2 = new DeferredSXSSFWorkbook(xssfWb2)) {
+                    assertEquals(1, wb2.getNumberOfSheets());
+                    Sheet sheet = wb2.getStreamingSheetAt(0);
+                    assertNotNull(sheet);
+                    assertEquals("S1", sheet.getSheetName());
+                    assertTrue(wb2.dispose());
+                }
+            }
+        }
     }
 
     @Test
     void addToExistingWorkbook() throws IOException {
-        XSSFWorkbook xssfWb1 = new XSSFWorkbook();
-        xssfWb1.createSheet("S1");
-        Sheet sheet = xssfWb1.createSheet("S2");
-        Row row = sheet.createRow(1);
-        Cell cell = row.createCell(1);
-        cell.setCellValue("value 2_1_1");
-        DeferredSXSSFWorkbook wb1 = new DeferredSXSSFWorkbook(xssfWb1);
-        XSSFWorkbook xssfWb2 = DeferredSXSSFITestDataProvider.instance.writeOutAndReadBack(wb1);
-        assertTrue(wb1.dispose());
-        xssfWb1.close();
-
-        DeferredSXSSFWorkbook wb2 = new DeferredSXSSFWorkbook(xssfWb2);
-        // Add a row to the existing empty sheet
-        DeferredSXSSFSheet ssheet1 = wb2.getStreamingSheetAt(0);
-        ssheet1.setRowGenerator((ssxSheet) -> {
-            Row row1_1 = ssxSheet.createRow(1);
-            Cell cell1_1_1 = row1_1.createCell(1);
-            cell1_1_1.setCellValue("value 1_1_1");
-        });
-
-        // Add a row to the existing non-empty sheet
-        DeferredSXSSFSheet ssheet2 = wb2.getStreamingSheetAt(1);
-        ssheet2.setRowGenerator((ssxSheet) -> {
-            Row row2_2 = ssxSheet.createRow(2);
-            Cell cell2_2_1 = row2_2.createCell(1);
-            cell2_2_1.setCellValue("value 2_2_1");
-        });
-        // Add a sheet with one row
-        DeferredSXSSFSheet ssheet3 = wb2.createSheet("S3");
-        ssheet3.setRowGenerator((ssxSheet) -> {
-            Row row3_1 = ssxSheet.createRow(1);
-            Cell cell3_1_1 = row3_1.createCell(1);
-            cell3_1_1.setCellValue("value 3_1_1");
-        });
-
-        XSSFWorkbook xssfWb3 = DeferredSXSSFITestDataProvider.instance.writeOutAndReadBack(wb2);
-        wb2.close();
-
-        assertEquals(3, xssfWb3.getNumberOfSheets());
-        // Verify sheet 1
-        XSSFSheet sheet1 = xssfWb3.getSheetAt(0);
-        assertEquals("S1", sheet1.getSheetName());
-        assertEquals(1, sheet1.getPhysicalNumberOfRows());
-        XSSFRow row1_1 = sheet1.getRow(1);
-        assertNotNull(row1_1);
-        XSSFCell cell1_1_1 = row1_1.getCell(1);
-        assertNotNull(cell1_1_1);
-        assertEquals("value 1_1_1", cell1_1_1.getStringCellValue());
-        // Verify sheet 2
-        XSSFSheet sheet2 = xssfWb3.getSheetAt(1);
-        assertEquals("S2", sheet2.getSheetName());
-        assertEquals(2, sheet2.getPhysicalNumberOfRows());
-        Row row2_1 = sheet2.getRow(1);
-        assertNotNull(row2_1);
-        Cell cell2_1_1 = row2_1.getCell(1);
-        assertNotNull(cell2_1_1);
-        assertEquals("value 2_1_1", cell2_1_1.getStringCellValue());
-        XSSFRow row2_2 = sheet2.getRow(2);
-        assertNotNull(row2_2);
-        XSSFCell cell2_2_1 = row2_2.getCell(1);
-        assertNotNull(cell2_2_1);
-        assertEquals("value 2_2_1", cell2_2_1.getStringCellValue());
-        // Verify sheet 3
-        XSSFSheet sheet3 = xssfWb3.getSheetAt(2);
-        assertEquals("S3", sheet3.getSheetName());
-        assertEquals(1, sheet3.getPhysicalNumberOfRows());
-        XSSFRow row3_1 = sheet3.getRow(1);
-        assertNotNull(row3_1);
-        XSSFCell cell3_1_1 = row3_1.getCell(1);
-        assertNotNull(cell3_1_1);
-        assertEquals("value 3_1_1", cell3_1_1.getStringCellValue());
-
-        xssfWb2.close();
-        xssfWb3.close();
-        wb1.close();
+        try (XSSFWorkbook xssfWb1 = new XSSFWorkbook()) {
+            xssfWb1.createSheet("S1");
+            Sheet sheet = xssfWb1.createSheet("S2");
+            Row row = sheet.createRow(1);
+            Cell cell = row.createCell(1);
+            cell.setCellValue("value 2_1_1");
+
+            try (DeferredSXSSFWorkbook wb1 = new DeferredSXSSFWorkbook(xssfWb1);
+                 XSSFWorkbook xssfWb2 = DeferredSXSSFITestDataProvider.instance.writeOutAndReadBack(wb1)) {
+                assertTrue(wb1.dispose());
+
+                try (DeferredSXSSFWorkbook wb2 = new DeferredSXSSFWorkbook(xssfWb2)) {
+                    // Add a row to the existing empty sheet
+                    DeferredSXSSFSheet ssheet1 = wb2.getStreamingSheetAt(0);
+                    ssheet1.setRowGenerator((ssxSheet) -> {
+                        Row row1_1 = ssxSheet.createRow(1);
+                        Cell cell1_1_1 = row1_1.createCell(1);
+                        cell1_1_1.setCellValue("value 1_1_1");
+                    });
+
+                    // Add a row to the existing non-empty sheet
+                    DeferredSXSSFSheet ssheet2 = wb2.getStreamingSheetAt(1);
+                    ssheet2.setRowGenerator((ssxSheet) -> {
+                        Row row2_2 = ssxSheet.createRow(2);
+                        Cell cell2_2_1 = row2_2.createCell(1);
+                        cell2_2_1.setCellValue("value 2_2_1");
+                    });
+                    // Add a sheet with one row
+                    DeferredSXSSFSheet ssheet3 = wb2.createSheet("S3");
+                    ssheet3.setRowGenerator((ssxSheet) -> {
+                        Row row3_1 = ssxSheet.createRow(1);
+                        Cell cell3_1_1 = row3_1.createCell(1);
+                        cell3_1_1.setCellValue("value 3_1_1");
+                    });
+
+                    try (XSSFWorkbook xssfWb3 = DeferredSXSSFITestDataProvider.instance.writeOutAndReadBack(wb2)) {
+
+                        assertEquals(3, xssfWb3.getNumberOfSheets());
+                        // Verify sheet 1
+                        XSSFSheet sheet1 = xssfWb3.getSheetAt(0);
+                        assertEquals("S1", sheet1.getSheetName());
+                        assertEquals(1, sheet1.getPhysicalNumberOfRows());
+                        XSSFRow row1_1 = sheet1.getRow(1);
+                        assertNotNull(row1_1);
+                        XSSFCell cell1_1_1 = row1_1.getCell(1);
+                        assertNotNull(cell1_1_1);
+                        assertEquals("value 1_1_1", cell1_1_1.getStringCellValue());
+                        // Verify sheet 2
+                        XSSFSheet sheet2 = xssfWb3.getSheetAt(1);
+                        assertEquals("S2", sheet2.getSheetName());
+                        assertEquals(2, sheet2.getPhysicalNumberOfRows());
+                        Row row2_1 = sheet2.getRow(1);
+                        assertNotNull(row2_1);
+                        Cell cell2_1_1 = row2_1.getCell(1);
+                        assertNotNull(cell2_1_1);
+                        assertEquals("value 2_1_1", cell2_1_1.getStringCellValue());
+                        XSSFRow row2_2 = sheet2.getRow(2);
+                        assertNotNull(row2_2);
+                        XSSFCell cell2_2_1 = row2_2.getCell(1);
+                        assertNotNull(cell2_2_1);
+                        assertEquals("value 2_2_1", cell2_2_1.getStringCellValue());
+                        // Verify sheet 3
+                        XSSFSheet sheet3 = xssfWb3.getSheetAt(2);
+                        assertEquals("S3", sheet3.getSheetName());
+                        assertEquals(1, sheet3.getPhysicalNumberOfRows());
+                        XSSFRow row3_1 = sheet3.getRow(1);
+                        assertNotNull(row3_1);
+                        XSSFCell cell3_1_1 = row3_1.getCell(1);
+                        assertNotNull(cell3_1_1);
+                        assertEquals("value 3_1_1", cell3_1_1.getStringCellValue());
+                    }
+                }
+            }
+        }
     }
 
     @Test
     void sheetdataWriter() throws IOException {
-        DeferredSXSSFWorkbook wb = new DeferredSXSSFWorkbook();
-        SXSSFSheet sh = wb.createSheet();
-        assertSame(sh.getClass(), DeferredSXSSFSheet.class);
-        SheetDataWriter wr = sh.getSheetDataWriter();
-        assertNull(wr);
-        wb.close();
+        try (DeferredSXSSFWorkbook wb = new DeferredSXSSFWorkbook()) {
+            SXSSFSheet sh = wb.createSheet();
+            assertSame(sh.getClass(), DeferredSXSSFSheet.class);
+            SheetDataWriter wr = sh.getSheetDataWriter();
+            assertNull(wr);
+        }
     }
 
     @Test
@@ -225,71 +224,65 @@ public final class TestDeferredSXSSFWork
 
     @Test
     void gzipSheetdataWriter() throws IOException {
-        DeferredSXSSFWorkbook wb = new DeferredSXSSFWorkbook();
-
-        final int rowNum = 1000;
-        final int sheetNum = 5;
-        populateData(wb, 1000, 5);
-
-        XSSFWorkbook xwb = DeferredSXSSFITestDataProvider.instance.writeOutAndReadBack(wb);
-        for (int i = 0; i < sheetNum; i++) {
-            Sheet sh = xwb.getSheetAt(i);
-            assertEquals("sheet" + i, sh.getSheetName());
-            for (int j = 0; j < rowNum; j++) {
-                Row row = sh.getRow(j);
-                assertNotNull(row, "row[" + j + "]");
-                Cell cell1 = row.getCell(0);
-                assertEquals(new CellReference(cell1).formatAsString(), cell1.getStringCellValue());
+        try (DeferredSXSSFWorkbook wb = new DeferredSXSSFWorkbook()) {
 
-                Cell cell2 = row.getCell(1);
-                assertEquals(i, (int) cell2.getNumericCellValue());
+            final int rowNum = 1000;
+            final int sheetNum = 5;
+            populateData(wb);
+
+            try (XSSFWorkbook xwb = DeferredSXSSFITestDataProvider.instance.writeOutAndReadBack(wb)) {
+                for (int i = 0; i < sheetNum; i++) {
+                    Sheet sh = xwb.getSheetAt(i);
+                    assertEquals("sheet" + i, sh.getSheetName());
+                    for (int j = 0; j < rowNum; j++) {
+                        Row row = sh.getRow(j);
+                        assertNotNull(row, "row[" + j + "]");
+                        Cell cell1 = row.getCell(0);
+                        assertEquals(new CellReference(cell1).formatAsString(), cell1.getStringCellValue());
+
+                        Cell cell2 = row.getCell(1);
+                        assertEquals(i, (int) cell2.getNumericCellValue());
+
+                        Cell cell3 = row.getCell(2);
+                        assertEquals(j, (int) cell3.getNumericCellValue());
+                    }
+                }
 
-                Cell cell3 = row.getCell(2);
-                assertEquals(j, (int) cell3.getNumericCellValue());
+                assertTrue(wb.dispose());
             }
         }
-
-        assertTrue(wb.dispose());
-        xwb.close();
-        wb.close();
     }
 
-    @Test
-    void workbookDispose() throws IOException {
-        DeferredSXSSFWorkbook wb1 = new DeferredSXSSFWorkbook();
-        // the underlying writer is SheetDataWriter
-        assertWorkbookDispose(wb1);
-        wb1.close();
-
-        DeferredSXSSFWorkbook wb2 = new DeferredSXSSFWorkbook();
-        wb2.setCompressTempFiles(true);
-        // the underlying writer is GZIPSheetDataWriter
-        assertWorkbookDispose(wb2);
-        wb2.close();
-    }
-
-    private static void assertWorkbookDispose(DeferredSXSSFWorkbook wb) {
-        populateData(wb, 1000, 5);
-
-        for (Sheet sheet : wb) {
-            DeferredSXSSFSheet sxSheet = (DeferredSXSSFSheet) sheet;
-            assertNull(sxSheet.getSheetDataWriter());
-        }
+    @ParameterizedTest
+    @ValueSource(booleans = {false, true})
+    void workbookDispose(boolean compressTempFiles) throws IOException {
+        try (DeferredSXSSFWorkbook wb = new DeferredSXSSFWorkbook()) {
+            // compressTempFiles == false: the underlying writer is SheetDataWriter
+            // compressTempFiles == true: the underlying writer is GZIPSheetDataWriter
+            wb.setCompressTempFiles(compressTempFiles);
+
+            populateData(wb);
+
+            for (Sheet sheet : wb) {
+                DeferredSXSSFSheet sxSheet = (DeferredSXSSFSheet) sheet;
+                assertNull(sxSheet.getSheetDataWriter());
+            }
 
-        assertTrue(wb.dispose());
+            assertTrue(wb.dispose());
 
-        for (Sheet sheet : wb) {
-            DeferredSXSSFSheet sxSheet = (DeferredSXSSFSheet) sheet;
-            assertNull(sxSheet.getSheetDataWriter());
+            for (Sheet sheet : wb) {
+                DeferredSXSSFSheet sxSheet = (DeferredSXSSFSheet) sheet;
+                assertNull(sxSheet.getSheetDataWriter());
+            }
         }
     }
 
-    private static void populateData(DeferredSXSSFWorkbook wb, final int rowNum, final int sheetNum) {
-        for (int i = 0; i < sheetNum; i++) {
+    private static void populateData(DeferredSXSSFWorkbook wb) {
+        for (int i = 0; i < 5; i++) {
             DeferredSXSSFSheet sheet = wb.createSheet("sheet" + i);
             int index = i;
             sheet.setRowGenerator((sh) -> {
-                for (int j = 0; j < rowNum; j++) {
+                for (int j = 0; j < 1000; j++) {
                     Row row = sh.createRow(j);
                     Cell cell1 = row.createCell(0);
                     cell1.setCellValue(new CellReference(cell1).formatAsString());
@@ -304,7 +297,8 @@ public final class TestDeferredSXSSFWork
         }
     }
 
-    void changeSheetNameWithSharedFormulas() {
-        /* not implemented */
+    @Override
+    @Disabled("not implemented")
+    protected void changeSheetNameWithSharedFormulas() {
     }
 }

Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java Sat Aug 28 23:48:48 2021
@@ -55,6 +55,8 @@ import org.apache.poi.xssf.usermodel.XSS
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
 
 public final class TestSXSSFWorkbook extends BaseTestXWorkbook {
 
@@ -98,225 +100,201 @@ public final class TestSXSSFWorkbook ext
 
     @Test
     void existingWorkbook() throws IOException {
-        XSSFWorkbook xssfWb1 = new XSSFWorkbook();
-        xssfWb1.createSheet("S1");
-        SXSSFWorkbook wb1 = new SXSSFWorkbook(xssfWb1);
-        XSSFWorkbook xssfWb2 = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb1);
-        assertTrue(wb1.dispose());
-
-        SXSSFWorkbook wb2 = new SXSSFWorkbook(xssfWb2);
-        assertEquals(1, wb2.getNumberOfSheets());
-        Sheet sheet  = wb2.getSheetAt(0);
-        assertNotNull(sheet);
-        assertEquals("S1", sheet.getSheetName());
-        assertTrue(wb2.dispose());
-        xssfWb2.close();
-        xssfWb1.close();
-
-        wb2.close();
-        wb1.close();
+        try (XSSFWorkbook xssfWb1 = new XSSFWorkbook()) {
+            xssfWb1.createSheet("S1");
+            try (SXSSFWorkbook wb1 = new SXSSFWorkbook(xssfWb1);
+                 XSSFWorkbook xssfWb2 = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb1)) {
+                assertTrue(wb1.dispose());
+
+                try (SXSSFWorkbook wb2 = new SXSSFWorkbook(xssfWb2)) {
+                    assertEquals(1, wb2.getNumberOfSheets());
+                    Sheet sheet = wb2.getSheetAt(0);
+                    assertNotNull(sheet);
+                    assertEquals("S1", sheet.getSheetName());
+                    assertTrue(wb2.dispose());
+                }
+            }
+        }
     }
 
     @Test
     void useSharedStringsTable() throws Exception {
-        SXSSFWorkbook wb = new SXSSFWorkbook(null, 10, false, true);
+        try (SXSSFWorkbook wb = new SXSSFWorkbook(null, 10, false, true)) {
+
+            SharedStringsTable sss = wb.getSharedStringSource();
 
-        SharedStringsTable sss = wb.getSharedStringSource();
+            assertNotNull(sss);
 
-        assertNotNull(sss);
+            Row row = wb.createSheet("S1").createRow(0);
 
-        Row row = wb.createSheet("S1").createRow(0);
+            row.createCell(0).setCellValue("A");
+            row.createCell(1).setCellValue("B");
+            row.createCell(2).setCellValue("A");
 
-        row.createCell(0).setCellValue("A");
-        row.createCell(1).setCellValue("B");
-        row.createCell(2).setCellValue("A");
-
-        XSSFWorkbook xssfWorkbook = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb);
-        sss = wb.getSharedStringSource();
-        assertEquals(2, sss.getUniqueCount());
-        assertTrue(wb.dispose());
-
-        Sheet sheet1 = xssfWorkbook.getSheetAt(0);
-        assertEquals("S1", sheet1.getSheetName());
-        assertEquals(1, sheet1.getPhysicalNumberOfRows());
-        row = sheet1.getRow(0);
-        assertNotNull(row);
-        Cell cell = row.getCell(0);
-        assertNotNull(cell);
-        assertEquals("A", cell.getStringCellValue());
-        cell = row.getCell(1);
-        assertNotNull(cell);
-        assertEquals("B", cell.getStringCellValue());
-        cell = row.getCell(2);
-        assertNotNull(cell);
-        assertEquals("A", cell.getStringCellValue());
+            try (XSSFWorkbook xssfWorkbook = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb)) {
+                sss = wb.getSharedStringSource();
+                assertEquals(2, sss.getUniqueCount());
+                assertTrue(wb.dispose());
 
-        xssfWorkbook.close();
-        wb.close();
+                Sheet sheet1 = xssfWorkbook.getSheetAt(0);
+                assertEquals("S1", sheet1.getSheetName());
+                assertEquals(1, sheet1.getPhysicalNumberOfRows());
+                row = sheet1.getRow(0);
+                assertNotNull(row);
+                Cell cell = row.getCell(0);
+                assertNotNull(cell);
+                assertEquals("A", cell.getStringCellValue());
+                cell = row.getCell(1);
+                assertNotNull(cell);
+                assertEquals("B", cell.getStringCellValue());
+                cell = row.getCell(2);
+                assertNotNull(cell);
+                assertEquals("A", cell.getStringCellValue());
+            }
+        }
     }
 
     @Test
     void addToExistingWorkbook() throws IOException {
-        XSSFWorkbook xssfWb1 = new XSSFWorkbook();
-        xssfWb1.createSheet("S1");
-        Sheet sheet = xssfWb1.createSheet("S2");
-        Row row = sheet.createRow(1);
-        Cell cell = row.createCell(1);
-        cell.setCellValue("value 2_1_1");
-        SXSSFWorkbook wb1 = new SXSSFWorkbook(xssfWb1);
-        XSSFWorkbook xssfWb2 = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb1);
-        assertTrue(wb1.dispose());
-        xssfWb1.close();
-
-        SXSSFWorkbook wb2 = new SXSSFWorkbook(xssfWb2);
-        // Add a row to the existing empty sheet
-        Sheet sheet1 = wb2.getSheetAt(0);
-        Row row1_1 = sheet1.createRow(1);
-        Cell cell1_1_1 = row1_1.createCell(1);
-        cell1_1_1.setCellValue("value 1_1_1");
-
-        // Add a row to the existing non-empty sheet
-        Sheet sheet2 = wb2.getSheetAt(1);
-        Row row2_2 = sheet2.createRow(2);
-        Cell cell2_2_1 = row2_2.createCell(1);
-        cell2_2_1.setCellValue("value 2_2_1");
-
-        // Add a sheet with one row
-        Sheet sheet3 = wb2.createSheet("S3");
-        Row row3_1 = sheet3.createRow(1);
-        Cell cell3_1_1 = row3_1.createCell(1);
-        cell3_1_1.setCellValue("value 3_1_1");
-
-        XSSFWorkbook xssfWb3 = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb2);
-        wb2.close();
-
-        assertEquals(3, xssfWb3.getNumberOfSheets());
-        // Verify sheet 1
-        sheet1 = xssfWb3.getSheetAt(0);
-        assertEquals("S1", sheet1.getSheetName());
-        assertEquals(1, sheet1.getPhysicalNumberOfRows());
-        row1_1 = sheet1.getRow(1);
-        assertNotNull(row1_1);
-        cell1_1_1 = row1_1.getCell(1);
-        assertNotNull(cell1_1_1);
-        assertEquals("value 1_1_1", cell1_1_1.getStringCellValue());
-        // Verify sheet 2
-        sheet2 = xssfWb3.getSheetAt(1);
-        assertEquals("S2", sheet2.getSheetName());
-        assertEquals(2, sheet2.getPhysicalNumberOfRows());
-        Row row2_1 = sheet2.getRow(1);
-        assertNotNull(row2_1);
-        Cell cell2_1_1 = row2_1.getCell(1);
-        assertNotNull(cell2_1_1);
-        assertEquals("value 2_1_1", cell2_1_1.getStringCellValue());
-        row2_2 = sheet2.getRow(2);
-        assertNotNull(row2_2);
-        cell2_2_1 = row2_2.getCell(1);
-        assertNotNull(cell2_2_1);
-        assertEquals("value 2_2_1", cell2_2_1.getStringCellValue());
-        // Verify sheet 3
-        sheet3 = xssfWb3.getSheetAt(2);
-        assertEquals("S3", sheet3.getSheetName());
-        assertEquals(1, sheet3.getPhysicalNumberOfRows());
-        row3_1 = sheet3.getRow(1);
-        assertNotNull(row3_1);
-        cell3_1_1 = row3_1.getCell(1);
-        assertNotNull(cell3_1_1);
-        assertEquals("value 3_1_1", cell3_1_1.getStringCellValue());
-
-        xssfWb2.close();
-        xssfWb3.close();
-        wb1.close();
+        try (XSSFWorkbook xssfWb1 = new XSSFWorkbook()) {
+            xssfWb1.createSheet("S1");
+            Sheet sheet = xssfWb1.createSheet("S2");
+            Row row = sheet.createRow(1);
+            Cell cell = row.createCell(1);
+            cell.setCellValue("value 2_1_1");
+            try (SXSSFWorkbook wb1 = new SXSSFWorkbook(xssfWb1);
+                 XSSFWorkbook xssfWb2 = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb1)) {
+                assertTrue(wb1.dispose());
+
+                try (SXSSFWorkbook wb2 = new SXSSFWorkbook(xssfWb2)) {
+                    // Add a row to the existing empty sheet
+                    Sheet sheet1 = wb2.getSheetAt(0);
+                    Row row1_1 = sheet1.createRow(1);
+                    Cell cell1_1_1 = row1_1.createCell(1);
+                    cell1_1_1.setCellValue("value 1_1_1");
+
+                    // Add a row to the existing non-empty sheet
+                    Sheet sheet2 = wb2.getSheetAt(1);
+                    Row row2_2 = sheet2.createRow(2);
+                    Cell cell2_2_1 = row2_2.createCell(1);
+                    cell2_2_1.setCellValue("value 2_2_1");
+
+                    // Add a sheet with one row
+                    Sheet sheet3 = wb2.createSheet("S3");
+                    Row row3_1 = sheet3.createRow(1);
+                    Cell cell3_1_1 = row3_1.createCell(1);
+                    cell3_1_1.setCellValue("value 3_1_1");
+
+                    try (XSSFWorkbook xssfWb3 = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb2)) {
+                        assertEquals(3, xssfWb3.getNumberOfSheets());
+                        // Verify sheet 1
+                        sheet1 = xssfWb3.getSheetAt(0);
+                        assertEquals("S1", sheet1.getSheetName());
+                        assertEquals(1, sheet1.getPhysicalNumberOfRows());
+                        row1_1 = sheet1.getRow(1);
+                        assertNotNull(row1_1);
+                        cell1_1_1 = row1_1.getCell(1);
+                        assertNotNull(cell1_1_1);
+                        assertEquals("value 1_1_1", cell1_1_1.getStringCellValue());
+                        // Verify sheet 2
+                        sheet2 = xssfWb3.getSheetAt(1);
+                        assertEquals("S2", sheet2.getSheetName());
+                        assertEquals(2, sheet2.getPhysicalNumberOfRows());
+                        Row row2_1 = sheet2.getRow(1);
+                        assertNotNull(row2_1);
+                        Cell cell2_1_1 = row2_1.getCell(1);
+                        assertNotNull(cell2_1_1);
+                        assertEquals("value 2_1_1", cell2_1_1.getStringCellValue());
+                        row2_2 = sheet2.getRow(2);
+                        assertNotNull(row2_2);
+                        cell2_2_1 = row2_2.getCell(1);
+                        assertNotNull(cell2_2_1);
+                        assertEquals("value 2_2_1", cell2_2_1.getStringCellValue());
+                        // Verify sheet 3
+                        sheet3 = xssfWb3.getSheetAt(2);
+                        assertEquals("S3", sheet3.getSheetName());
+                        assertEquals(1, sheet3.getPhysicalNumberOfRows());
+                        row3_1 = sheet3.getRow(1);
+                        assertNotNull(row3_1);
+                        cell3_1_1 = row3_1.getCell(1);
+                        assertNotNull(cell3_1_1);
+                        assertEquals("value 3_1_1", cell3_1_1.getStringCellValue());
+                    }
+                }
+            }
+        }
     }
 
     @Test
     void sheetdataWriter() throws IOException{
-        SXSSFWorkbook wb = new SXSSFWorkbook();
-        SXSSFSheet sh = wb.createSheet();
-        SheetDataWriter wr = sh.getSheetDataWriter();
-        assertSame(wr.getClass(), SheetDataWriter.class);
-        File tmp = wr.getTempFile();
-        assertStartsWith(tmp.getName(), "poi-sxssf-sheet");
-        assertEndsWith(tmp.getName(), ".xml");
-        assertTrue(wb.dispose());
-        wb.close();
-
-        wb = new SXSSFWorkbook();
-        wb.setCompressTempFiles(true);
-        sh = wb.createSheet();
-        wr = sh.getSheetDataWriter();
-        assertSame(wr.getClass(), GZIPSheetDataWriter.class);
-        tmp = wr.getTempFile();
-        assertStartsWith(tmp.getName(), "poi-sxssf-sheet-xml");
-        assertEndsWith(tmp.getName(), ".gz");
-        assertTrue(wb.dispose());
-        wb.close();
+        try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
+            SXSSFSheet sh = wb.createSheet();
+            SheetDataWriter wr = sh.getSheetDataWriter();
+            assertSame(wr.getClass(), SheetDataWriter.class);
+            File tmp = wr.getTempFile();
+            assertStartsWith(tmp.getName(), "poi-sxssf-sheet");
+            assertEndsWith(tmp.getName(), ".xml");
+            assertTrue(wb.dispose());
+        }
+
+        try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
+            wb.setCompressTempFiles(true);
+            SXSSFSheet sh = wb.createSheet();
+            SheetDataWriter wr = sh.getSheetDataWriter();
+            assertSame(wr.getClass(), GZIPSheetDataWriter.class);
+            File tmp = wr.getTempFile();
+            assertStartsWith(tmp.getName(), "poi-sxssf-sheet-xml");
+            assertEndsWith(tmp.getName(), ".gz");
+            assertTrue(wb.dispose());
+        }
 
         //Test escaping of Unicode control characters
-        wb = new SXSSFWorkbook();
-        wb.createSheet("S1").createRow(0).createCell(0).setCellValue("value\u0019");
-        XSSFWorkbook xssfWorkbook = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb);
-        Cell cell = xssfWorkbook.getSheet("S1").getRow(0).getCell(0);
-        assertEquals("value?", cell.getStringCellValue());
-
-        assertTrue(wb.dispose());
-        wb.close();
-        xssfWorkbook.close();
+        try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
+            wb.createSheet("S1").createRow(0).createCell(0).setCellValue("value\u0019");
+            try (XSSFWorkbook xssfWorkbook = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb)) {
+                Cell cell = xssfWorkbook.getSheet("S1").getRow(0).getCell(0);
+                assertEquals("value?", cell.getStringCellValue());
+                assertTrue(wb.dispose());
+            }
+        }
     }
 
     @Test
     void gzipSheetdataWriter() throws IOException {
-        SXSSFWorkbook wb = new SXSSFWorkbook();
-        wb.setCompressTempFiles(true);
+        try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
+            wb.setCompressTempFiles(true);
 
-        final int rowNum = 1000;
-        final int sheetNum = 5;
-        populateData(wb, 1000, 5);
+            final int rowNum = 1000;
+            final int sheetNum = 5;
+            populateData(wb);
+
+            try (XSSFWorkbook xwb = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb)) {
+                for (int i = 0; i < sheetNum; i++) {
+                    Sheet sh = xwb.getSheetAt(i);
+                    assertEquals("sheet" + i, sh.getSheetName());
+                    for (int j = 0; j < rowNum; j++) {
+                        Row row = sh.getRow(j);
+                        assertNotNull(row, "row[" + j + "]");
+                        Cell cell1 = row.getCell(0);
+                        assertEquals(new CellReference(cell1).formatAsString(), cell1.getStringCellValue());
 
-        XSSFWorkbook xwb = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb);
-        for(int i = 0; i < sheetNum; i++){
-            Sheet sh = xwb.getSheetAt(i);
-            assertEquals("sheet" + i, sh.getSheetName());
-            for(int j = 0; j < rowNum; j++){
-                Row row = sh.getRow(j);
-                assertNotNull(row, "row[" + j + "]");
-                Cell cell1 = row.getCell(0);
-                assertEquals(new CellReference(cell1).formatAsString(), cell1.getStringCellValue());
+                        Cell cell2 = row.getCell(1);
+                        assertEquals(i, (int) cell2.getNumericCellValue());
 
-                Cell cell2 = row.getCell(1);
-                assertEquals(i, (int)cell2.getNumericCellValue());
+                        Cell cell3 = row.getCell(2);
+                        assertEquals(j, (int) cell3.getNumericCellValue());
+                    }
+                }
 
-                Cell cell3 = row.getCell(2);
-                assertEquals(j, (int)cell3.getNumericCellValue());
+                assertTrue(wb.dispose());
             }
         }
-
-        assertTrue(wb.dispose());
-        xwb.close();
-        wb.close();
     }
 
-    private static void assertWorkbookDispose(SXSSFWorkbook wb)
-    {
-        populateData(wb, 1000, 5);
-
-        for (Sheet sheet : wb) {
-            SXSSFSheet sxSheet = (SXSSFSheet) sheet;
-            assertTrue(sxSheet.getSheetDataWriter().getTempFile().exists());
-        }
-
-        assertTrue(wb.dispose());
-
-        for (Sheet sheet : wb) {
-            SXSSFSheet sxSheet = (SXSSFSheet) sheet;
-            assertFalse(sxSheet.getSheetDataWriter().getTempFile().exists());
-        }
-    }
-
-    private static void populateData(Workbook wb, final int rowNum, final int sheetNum) {
-        for(int i = 0; i < sheetNum; i++){
+    private static void populateData(Workbook wb) {
+        for(int i = 0; i < 5; i++){
             Sheet sh = wb.createSheet("sheet" + i);
-            for(int j = 0; j < rowNum; j++){
+            for(int j = 0; j < 1000; j++){
                 Row row = sh.createRow(j);
                 Cell cell1 = row.createCell(0);
                 cell1.setCellValue(new CellReference(cell1).formatAsString());
@@ -330,28 +308,40 @@ public final class TestSXSSFWorkbook ext
         }
     }
 
-    @Test
-    void workbookDispose() throws IOException {
-        SXSSFWorkbook wb1 = new SXSSFWorkbook();
-        // the underlying writer is SheetDataWriter
-        assertWorkbookDispose(wb1);
-        wb1.close();
-
-        SXSSFWorkbook wb2 = new SXSSFWorkbook();
-        wb2.setCompressTempFiles(true);
-        // the underlying writer is GZIPSheetDataWriter
-        assertWorkbookDispose(wb2);
-        wb2.close();
+    @ParameterizedTest
+    @ValueSource(booleans = {false, true})
+    void workbookDispose(boolean compressTempFiles) throws IOException {
+        try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
+            // compressTempFiles == false: the underlying writer is SheetDataWriter
+            // compressTempFiles == true: the underlying writer is GZIPSheetDataWriter
+            wb.setCompressTempFiles(compressTempFiles);
+
+            populateData(wb);
+
+            for (Sheet sheet : wb) {
+                SXSSFSheet sxSheet = (SXSSFSheet) sheet;
+                assertTrue(sxSheet.getSheetDataWriter().getTempFile().exists());
+            }
+
+            assertTrue(wb.dispose());
+
+            for (Sheet sheet : wb) {
+                SXSSFSheet sxSheet = (SXSSFSheet) sheet;
+                assertFalse(sxSheet.getSheetDataWriter().getTempFile().exists());
+            }
+        }
     }
 
     @Test
     void bug53515() throws Exception {
         try (Workbook wb1 = new SXSSFWorkbook(10)) {
             populateWorkbook(wb1);
-            saveTwice(wb1);
+            assertDoesNotThrow(() -> wb1.write(NULL_OUTPUT_STREAM));
+            assertDoesNotThrow(() -> wb1.write(NULL_OUTPUT_STREAM));
             try (Workbook wb2 = new XSSFWorkbook()) {
                 populateWorkbook(wb2);
-                saveTwice(wb2);
+                assertDoesNotThrow(() -> wb2.write(NULL_OUTPUT_STREAM));
+                assertDoesNotThrow(() -> wb2.write(NULL_OUTPUT_STREAM));
             }
         }
     }
@@ -405,18 +395,6 @@ public final class TestSXSSFWorkbook ext
         }
     }
 
-    private static void saveTwice(Workbook wb) throws Exception {
-        for (int i = 0; i < 2; i++) {
-            try {
-                wb.write(NULL_OUTPUT_STREAM);
-            } catch (Exception e) {
-                throw new Exception("ERROR: failed on " + (i + 1)
-                        + "th time calling " + wb.getClass().getName()
-                        + ".write() with exception " + e.getMessage(), e);
-            }
-        }
-    }
-
     @Test
     void closeDoesNotModifyWorkbook() throws IOException {
         final String filename = "SampleSS.xlsx";
@@ -460,10 +438,10 @@ public final class TestSXSSFWorkbook ext
             char[] useless = new char[32767];
             Arrays.fill(useless, ' ');
 
-            for (int row = 0; row < 1; row++) {
+            for (int row = 0; row < 10; row++) {
                 Row r = s.createRow(row);
                 for (int col = 0; col < 10; col++) {
-                    char[] prefix = Integer.toHexString(row * 1000 + col).toCharArray();
+                    char[] prefix = Integer.toHexString(row * 10 + col).toCharArray();
                     Arrays.fill(useless, 0, 10, ' ');
                     System.arraycopy(prefix, 0, useless, 0, prefix.length);
                     String ul = new String(useless);
@@ -528,8 +506,8 @@ public final class TestSXSSFWorkbook ext
         }
     }
 
+    @Override
     @Disabled("not implemented")
-    @Test
-    void changeSheetNameWithSharedFormulas() {
+    protected void changeSheetNameWithSharedFormulas() {
     }
 }

Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java Sat Aug 28 23:48:48 2021
@@ -100,7 +100,6 @@ import org.apache.poi.ss.util.CellRangeA
 import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.ss.util.CellUtil;
 import org.apache.poi.util.LocaleUtil;
-import org.apache.commons.io.output.NullOutputStream;
 import org.apache.poi.util.TempFile;
 import org.apache.poi.util.XMLHelper;
 import org.apache.poi.xssf.SXSSFITestDataProvider;
@@ -117,7 +116,14 @@ import org.junit.jupiter.params.Paramete
 import org.junit.jupiter.params.provider.CsvSource;
 import org.junit.jupiter.params.provider.EnumSource;
 import org.junit.jupiter.params.provider.ValueSource;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCalcCell;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedNames;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMergeCell;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMergeCells;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellFormulaType;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTFontImpl;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXParseException;
@@ -2714,6 +2720,7 @@ public final class TestXSSFBugs extends
             CellStyle style = wb.createCellStyle();
             style.setRotation((short) -90);
             cell.setCellStyle(style);
+            assertEquals(180, style.getRotation());
 
             XSSFTestDataSamples.writeOut(wb, fileName);
         }

Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFFont.java?rev=1892683&r1=1892682&r2=1892683&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFFont.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFFont.java Sat Aug 28 23:48:48 2021
@@ -259,11 +259,11 @@ public final class TestXSSFFont extends
 
         xssfFont.setUnderline(Font.U_DOUBLE);
         assertEquals(ctFont.sizeOfUArray(),1);
-        assertEquals(STUnderlineValues.DOUBLE,ctFont.getUArray(0).getVal());
+        assertSame(STUnderlineValues.DOUBLE,ctFont.getUArray(0).getVal());
 
         xssfFont.setUnderline(FontUnderline.DOUBLE_ACCOUNTING);
         assertEquals(ctFont.sizeOfUArray(),1);
-        assertEquals(STUnderlineValues.DOUBLE_ACCOUNTING,ctFont.getUArray(0).getVal());
+        assertSame(STUnderlineValues.DOUBLE_ACCOUNTING,ctFont.getUArray(0).getVal());
     }
 
     @Test
@@ -342,7 +342,7 @@ public final class TestXSSFFont extends
         assertEquals(FontScheme.MAJOR,font.getScheme());
 
         font.setScheme(FontScheme.NONE);
-        assertEquals(STFontScheme.NONE,ctFont.getSchemeArray(0).getVal());
+        assertSame(STFontScheme.NONE,ctFont.getSchemeArray(0).getVal());
     }
 
     @Test
@@ -356,17 +356,15 @@ public final class TestXSSFFont extends
         assertEquals(Font.SS_NONE,font.getTypeOffset());
 
         font.setTypeOffset(XSSFFont.SS_SUPER);
-        assertEquals(STVerticalAlignRun.SUPERSCRIPT,ctFont.getVertAlignArray(0).getVal());
+        assertSame(STVerticalAlignRun.SUPERSCRIPT,ctFont.getVertAlignArray(0).getVal());
     }
 
     // store test from TestSheetUtil here as it uses XSSF
     @Test
     void testCanComputeWidthXSSF() throws IOException {
         try (Workbook wb = new XSSFWorkbook()) {
-
             // cannot check on result because on some machines we get back false here!
-            SheetUtil.canComputeColumnWidth(wb.getFontAt(0));
-
+            assertDoesNotThrow(() -> SheetUtil.canComputeColumnWidth(wb.getFontAt(0)));
         }
     }
 
@@ -377,7 +375,7 @@ public final class TestXSSFFont extends
         font.setFontName("some non existing font name");
 
         // Even with invalid fonts we still get back useful data most of the time...
-        SheetUtil.canComputeColumnWidth(font);
+        assertDoesNotThrow(() -> SheetUtil.canComputeColumnWidth(font));
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org