You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2019/02/23 07:52:24 UTC
svn commit: r1854192 [1/2] - in /poi/trunk/src:
ooxml/testcases/org/apache/poi/ ooxml/testcases/org/apache/poi/openxml4j/opc/
ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/
ooxml/testcases/org/apache/poi/ss/format/ ooxml/testcases/org/apache/...
Author: centic
Date: Sat Feb 23 07:52:24 2019
New Revision: 1854192
URL: http://svn.apache.org/viewvc?rev=1854192&view=rev
Log:
Close file-handles for slideshows also when construction fails or when dual-storage is used
Also avoid file-leak reports in some tests
Modified:
poi/trunk/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java
poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestSumifsXSSF.java
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/TestXSSFRangeCopier.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFSlideShow.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestSheetProtection.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestWorkbookProtection.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSharedStringsTable.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSheetHyperlinkManager.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowDumper.java
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/TextStyleListing.java
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/UserEditAndPersistListing.java
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
poi/trunk/src/testcases/org/apache/poi/ss/format/CellFormatTestBase.java
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/TestDetectAsOOXML.java Sat Feb 23 07:52:24 2019
@@ -40,7 +40,7 @@ import org.junit.Test;
public class TestDetectAsOOXML {
@Test
public void testOpensProperly() throws IOException, InvalidFormatException {
- OPCPackage.open(HSSFTestDataSamples.openSampleFileStream("sample.xlsx"));
+ OPCPackage.open(HSSFTestDataSamples.openSampleFileStream("sample.xlsx")).close();
}
@Test
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java Sat Feb 23 07:52:24 2019
@@ -67,5 +67,7 @@ public class TestEmbedded extends TestCa
byte[] b = IOUtils.toByteArray(pp.getInputStream());
assertTrue(b.length > 0);
}
+
+ doc.close();
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java Sat Feb 23 07:52:24 2019
@@ -81,15 +81,10 @@ public final class TestListParts extends
/**
* List all parts of a package.
*/
- public void testListParts() throws InvalidFormatException {
+ public void testListParts() throws InvalidFormatException, IOException {
InputStream is = OpenXML4JTestDataSamples.openSampleStream("sample.docx");
- OPCPackage p;
- try {
- p = OPCPackage.open(is);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
+ OPCPackage p = OPCPackage.open(is);
for (PackagePart part : p.getParts()) {
values.put(part.getPartName(), part.getContentType());
logger.log(POILogger.DEBUG, part.getPartName());
@@ -100,5 +95,7 @@ public final class TestListParts extends
assertNotNull(values.get(partName));
assertEquals(expectedValues.get(partName), values.get(partName));
}
+
+ p.close();
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java Sat Feb 23 07:52:24 2019
@@ -30,7 +30,6 @@ import junit.framework.TestCase;
import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
-import org.apache.poi.xwpf.usermodel.XWPFRelation;
public class TestRelationships extends TestCase {
@@ -51,18 +50,19 @@ public class TestRelationships extends T
*/
public void testLoadRelationships() throws Exception {
InputStream is = OpenXML4JTestDataSamples.openSampleStream("sample.xlsx");
- OPCPackage pkg = OPCPackage.open(is);
- logger.log(POILogger.DEBUG, "1: " + pkg);
- PackageRelationshipCollection rels = pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_DOCUMENT);
- PackageRelationship coreDocRelationship = rels.getRelationship(0);
- PackagePart corePart = pkg.getPart(coreDocRelationship);
- String[] relIds = {"rId1", "rId2", "rId3"};
- for (String relId : relIds) {
- PackageRelationship rel = corePart.getRelationship(relId);
- assertNotNull(rel);
- PackagePartName relName = PackagingURIHelper.createPartName(rel.getTargetURI());
- PackagePart sheetPart = pkg.getPart(relName);
- assertEquals("Number of relationships1 for " + sheetPart.getPartName(), 1, sheetPart.getRelationships().size());
+ try (OPCPackage pkg = OPCPackage.open(is)) {
+ logger.log(POILogger.DEBUG, "1: " + pkg);
+ PackageRelationshipCollection rels = pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_DOCUMENT);
+ PackageRelationship coreDocRelationship = rels.getRelationship(0);
+ PackagePart corePart = pkg.getPart(coreDocRelationship);
+ String[] relIds = {"rId1", "rId2", "rId3"};
+ for (String relId : relIds) {
+ PackageRelationship rel = corePart.getRelationship(relId);
+ assertNotNull(rel);
+ PackagePartName relName = PackagingURIHelper.createPartName(rel.getTargetURI());
+ PackagePart sheetPart = pkg.getPart(relName);
+ assertEquals("Number of relationships1 for " + sheetPart.getPartName(), 1, sheetPart.getRelationships().size());
+ }
}
}
@@ -72,39 +72,40 @@ public class TestRelationships extends T
*/
public void testFetchFromCollection() throws Exception {
InputStream is = OpenXML4JTestDataSamples.openSampleStream("ExcelWithHyperlinks.xlsx");
- OPCPackage pkg = OPCPackage.open(is);
- PackagePart sheet = pkg.getPart(
- PackagingURIHelper.createPartName(SHEET_WITH_COMMENTS));
- assertNotNull(sheet);
-
- assertTrue(sheet.hasRelationships());
- assertEquals(6, sheet.getRelationships().size());
-
- // Should have three hyperlinks, and one comment
- PackageRelationshipCollection hyperlinks =
- sheet.getRelationshipsByType(HYPERLINK_REL_TYPE);
- PackageRelationshipCollection comments =
- sheet.getRelationshipsByType(COMMENTS_REL_TYPE);
- assertEquals(3, hyperlinks.size());
- assertEquals(1, comments.size());
-
- // Check we can get bits out by id
- // Hyperlinks are rId1, rId2 and rId3
- // Comment is rId6
- assertNotNull(hyperlinks.getRelationshipByID("rId1"));
- assertNotNull(hyperlinks.getRelationshipByID("rId2"));
- assertNotNull(hyperlinks.getRelationshipByID("rId3"));
- assertNull(hyperlinks.getRelationshipByID("rId6"));
-
- assertNull(comments.getRelationshipByID("rId1"));
- assertNull(comments.getRelationshipByID("rId2"));
- assertNull(comments.getRelationshipByID("rId3"));
- assertNotNull(comments.getRelationshipByID("rId6"));
-
- assertNotNull(sheet.getRelationship("rId1"));
- assertNotNull(sheet.getRelationship("rId2"));
- assertNotNull(sheet.getRelationship("rId3"));
- assertNotNull(sheet.getRelationship("rId6"));
+ try (OPCPackage pkg = OPCPackage.open(is)) {
+ PackagePart sheet = pkg.getPart(
+ PackagingURIHelper.createPartName(SHEET_WITH_COMMENTS));
+ assertNotNull(sheet);
+
+ assertTrue(sheet.hasRelationships());
+ assertEquals(6, sheet.getRelationships().size());
+
+ // Should have three hyperlinks, and one comment
+ PackageRelationshipCollection hyperlinks =
+ sheet.getRelationshipsByType(HYPERLINK_REL_TYPE);
+ PackageRelationshipCollection comments =
+ sheet.getRelationshipsByType(COMMENTS_REL_TYPE);
+ assertEquals(3, hyperlinks.size());
+ assertEquals(1, comments.size());
+
+ // Check we can get bits out by id
+ // Hyperlinks are rId1, rId2 and rId3
+ // Comment is rId6
+ assertNotNull(hyperlinks.getRelationshipByID("rId1"));
+ assertNotNull(hyperlinks.getRelationshipByID("rId2"));
+ assertNotNull(hyperlinks.getRelationshipByID("rId3"));
+ assertNull(hyperlinks.getRelationshipByID("rId6"));
+
+ assertNull(comments.getRelationshipByID("rId1"));
+ assertNull(comments.getRelationshipByID("rId2"));
+ assertNull(comments.getRelationshipByID("rId3"));
+ assertNotNull(comments.getRelationshipByID("rId6"));
+
+ assertNotNull(sheet.getRelationship("rId1"));
+ assertNotNull(sheet.getRelationship("rId2"));
+ assertNotNull(sheet.getRelationship("rId3"));
+ assertNotNull(sheet.getRelationship("rId6"));
+ }
}
/**
@@ -113,31 +114,32 @@ public class TestRelationships extends T
*/
public void testLoadExcelHyperlinkRelations() throws Exception {
InputStream is = OpenXML4JTestDataSamples.openSampleStream("ExcelWithHyperlinks.xlsx");
- OPCPackage pkg = OPCPackage.open(is);
- PackagePart sheet = pkg.getPart(
- PackagingURIHelper.createPartName(SHEET_WITH_COMMENTS));
- assertNotNull(sheet);
-
- // rId1 is url
- PackageRelationship url = sheet.getRelationship("rId1");
- assertNotNull(url);
- assertEquals("rId1", url.getId());
- assertEquals("/xl/worksheets/sheet1.xml", url.getSourceURI().toString());
- assertEquals("http://poi.apache.org/", url.getTargetURI().toString());
-
- // rId2 is file
- PackageRelationship file = sheet.getRelationship("rId2");
- assertNotNull(file);
- assertEquals("rId2", file.getId());
- assertEquals("/xl/worksheets/sheet1.xml", file.getSourceURI().toString());
- assertEquals("WithVariousData.xlsx", file.getTargetURI().toString());
-
- // rId3 is mailto
- PackageRelationship mailto = sheet.getRelationship("rId3");
- assertNotNull(mailto);
- assertEquals("rId3", mailto.getId());
- assertEquals("/xl/worksheets/sheet1.xml", mailto.getSourceURI().toString());
- assertEquals("mailto:dev@poi.apache.org?subject=XSSF%20Hyperlinks", mailto.getTargetURI().toString());
+ try (OPCPackage pkg = OPCPackage.open(is)) {
+ PackagePart sheet = pkg.getPart(
+ PackagingURIHelper.createPartName(SHEET_WITH_COMMENTS));
+ assertNotNull(sheet);
+
+ // rId1 is url
+ PackageRelationship url = sheet.getRelationship("rId1");
+ assertNotNull(url);
+ assertEquals("rId1", url.getId());
+ assertEquals("/xl/worksheets/sheet1.xml", url.getSourceURI().toString());
+ assertEquals("http://poi.apache.org/", url.getTargetURI().toString());
+
+ // rId2 is file
+ PackageRelationship file = sheet.getRelationship("rId2");
+ assertNotNull(file);
+ assertEquals("rId2", file.getId());
+ assertEquals("/xl/worksheets/sheet1.xml", file.getSourceURI().toString());
+ assertEquals("WithVariousData.xlsx", file.getTargetURI().toString());
+
+ // rId3 is mailto
+ PackageRelationship mailto = sheet.getRelationship("rId3");
+ assertNotNull(mailto);
+ assertEquals("rId3", mailto.getId());
+ assertEquals("/xl/worksheets/sheet1.xml", mailto.getSourceURI().toString());
+ assertEquals("mailto:dev@poi.apache.org?subject=XSSF%20Hyperlinks", mailto.getTargetURI().toString());
+ }
}
/*
@@ -217,74 +219,73 @@ public class TestRelationships extends T
}
public void testCreateRelationsFromScratch() throws Exception {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- OPCPackage pkg = OPCPackage.create(baos);
-
- PackagePart partA =
- pkg.createPart(PackagingURIHelper.createPartName("/partA"), "text/plain");
- PackagePart partB =
- pkg.createPart(PackagingURIHelper.createPartName("/partB"), "image/png");
- assertNotNull(partA);
- assertNotNull(partB);
-
- // Internal
- partA.addRelationship(partB.getPartName(), TargetMode.INTERNAL, "http://example/Rel");
-
- // External
- partA.addExternalRelationship("http://poi.apache.org/", "http://example/poi");
- partB.addExternalRelationship("http://poi.apache.org/ss/", "http://example/poi/ss");
-
- // Check as expected currently
- assertEquals("/partB", partA.getRelationship("rId1").getTargetURI().toString());
- assertEquals("http://poi.apache.org/",
- partA.getRelationship("rId2").getTargetURI().toString());
- assertEquals("http://poi.apache.org/ss/",
- partB.getRelationship("rId1").getTargetURI().toString());
-
-
- // Save, and re-load
- pkg.close();
- ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- pkg = OPCPackage.open(bais);
-
- partA = pkg.getPart(PackagingURIHelper.createPartName("/partA"));
- partB = pkg.getPart(PackagingURIHelper.createPartName("/partB"));
-
-
- // Check the relations
- assertEquals(2, partA.getRelationships().size());
- assertEquals(1, partB.getRelationships().size());
-
- assertEquals("/partB", partA.getRelationship("rId1").getTargetURI().toString());
- assertEquals("http://poi.apache.org/",
- partA.getRelationship("rId2").getTargetURI().toString());
- assertEquals("http://poi.apache.org/ss/",
- partB.getRelationship("rId1").getTargetURI().toString());
- // Check core too
- assertEquals("/docProps/core.xml",
- pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_PROPERTIES).getRelationship(0).getTargetURI().toString());
-
-
- // Add some more
- partB.addExternalRelationship("http://poi.apache.org/new", "http://example/poi/new");
- partB.addExternalRelationship("http://poi.apache.org/alt", "http://example/poi/alt");
-
- // Check the relations
- assertEquals(2, partA.getRelationships().size());
- assertEquals(3, partB.getRelationships().size());
-
- assertEquals("/partB", partA.getRelationship("rId1").getTargetURI().toString());
- assertEquals("http://poi.apache.org/",
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ OPCPackage pkg = OPCPackage.create(baos);
+
+ PackagePart partA =
+ pkg.createPart(PackagingURIHelper.createPartName("/partA"), "text/plain");
+ PackagePart partB =
+ pkg.createPart(PackagingURIHelper.createPartName("/partB"), "image/png");
+ assertNotNull(partA);
+ assertNotNull(partB);
+
+ // Internal
+ partA.addRelationship(partB.getPartName(), TargetMode.INTERNAL, "http://example/Rel");
+
+ // External
+ partA.addExternalRelationship("http://poi.apache.org/", "http://example/poi");
+ partB.addExternalRelationship("http://poi.apache.org/ss/", "http://example/poi/ss");
+
+ // Check as expected currently
+ assertEquals("/partB", partA.getRelationship("rId1").getTargetURI().toString());
+ assertEquals("http://poi.apache.org/",
+ partA.getRelationship("rId2").getTargetURI().toString());
+ assertEquals("http://poi.apache.org/ss/",
+ partB.getRelationship("rId1").getTargetURI().toString());
+
+
+ // Save, and re-load
+ pkg.close();
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ pkg = OPCPackage.open(bais);
+
+ partA = pkg.getPart(PackagingURIHelper.createPartName("/partA"));
+ partB = pkg.getPart(PackagingURIHelper.createPartName("/partB"));
+
+
+ // Check the relations
+ assertEquals(2, partA.getRelationships().size());
+ assertEquals(1, partB.getRelationships().size());
+
+ assertEquals("/partB", partA.getRelationship("rId1").getTargetURI().toString());
+ assertEquals("http://poi.apache.org/",
+ partA.getRelationship("rId2").getTargetURI().toString());
+ assertEquals("http://poi.apache.org/ss/",
+ partB.getRelationship("rId1").getTargetURI().toString());
+ // Check core too
+ PackageRelationship relationship = pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_PROPERTIES).getRelationship(0);
+ assertNotNull(relationship);
+ assertEquals("/docProps/core.xml", relationship.getTargetURI().toString());
+
+ // Add some more
+ partB.addExternalRelationship("http://poi.apache.org/new", "http://example/poi/new");
+ partB.addExternalRelationship("http://poi.apache.org/alt", "http://example/poi/alt");
+
+ // Check the relations
+ assertEquals(2, partA.getRelationships().size());
+ assertEquals(3, partB.getRelationships().size());
+
+ assertEquals("/partB", partA.getRelationship("rId1").getTargetURI().toString());
+ assertEquals("http://poi.apache.org/",
partA.getRelationship("rId2").getTargetURI().toString());
- assertEquals("http://poi.apache.org/ss/",
+ assertEquals("http://poi.apache.org/ss/",
partB.getRelationship("rId1").getTargetURI().toString());
- assertEquals("http://poi.apache.org/new",
+ assertEquals("http://poi.apache.org/new",
partB.getRelationship("rId2").getTargetURI().toString());
- assertEquals("http://poi.apache.org/alt",
+ assertEquals("http://poi.apache.org/alt",
partB.getRelationship("rId3").getTargetURI().toString());
}
-
public void testTargetWithSpecialChars() throws Exception{
OPCPackage pkg;
@@ -371,7 +372,8 @@ public class TestRelationships extends T
PackageRelationship rel2 = partA.getRelationships().getRelationship(0);
- assertEquals(rel1.getRelationshipType(), rel2.getRelationshipType());
+ assertNotNull(rel2);
+ assertEquals(rel1.getRelationshipType(), rel2.getRelationshipType());
assertEquals(rel1.getId(), rel2.getId());
assertEquals(rel1.getSourceURI(), rel2.getSourceURI());
assertEquals(rel1.getTargetURI(), rel2.getTargetURI());
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java Sat Feb 23 07:52:24 2019
@@ -119,17 +119,18 @@ public final class TestOPCComplianceCore
// We will use the first core properties, and ignore the others
InputStream is = OpenXML4JTestDataSamples.openSampleStream("MultipleCoreProperties.docx");
- OPCPackage pkg = OPCPackage.open(is);
-
- // We can see 2 by type
- assertEquals(2, pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
- // But only the first one by relationship
- assertEquals(1, pkg.getPartsByRelationshipType(PackageRelationshipTypes.CORE_PROPERTIES).size());
- // It should be core.xml not the older core1.xml
- assertEquals(
- "/docProps/core.xml",
- pkg.getPartsByRelationshipType(PackageRelationshipTypes.CORE_PROPERTIES).get(0).getPartName().toString()
- );
+ try (OPCPackage pkg = OPCPackage.open(is)) {
+
+ // We can see 2 by type
+ assertEquals(2, pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
+ // But only the first one by relationship
+ assertEquals(1, pkg.getPartsByRelationshipType(PackageRelationshipTypes.CORE_PROPERTIES).size());
+ // It should be core.xml not the older core1.xml
+ assertEquals(
+ "/docProps/core.xml",
+ pkg.getPartsByRelationshipType(PackageRelationshipTypes.CORE_PROPERTIES).get(0).getPartName().toString()
+ );
+ }
}
private static URI createURI(String text) {
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/format/TestCellFormatPart.java Sat Feb 23 07:52:24 2019
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import java.io.IOException;
import java.util.Locale;
import java.util.TimeZone;
import java.util.regex.Matcher;
@@ -27,6 +28,7 @@ import java.util.regex.Pattern;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.util.LocaleUtil;
import org.apache.poi.xssf.XSSFITestDataProvider;
import org.junit.AfterClass;
@@ -58,7 +60,7 @@ public class TestCellFormatPart extends
}
@Test
- public void testGeneralFormat() {
+ public void testGeneralFormat() throws IOException {
runFormatTests("GeneralFormatTests.xlsx", new CellValue() {
@Override
public Object getValue(Cell cell) {
@@ -75,7 +77,7 @@ public class TestCellFormatPart extends
}
@Test
- public void testNumberFormat() {
+ public void testNumberFormat() throws IOException {
runFormatTests("NumberFormatTests.xlsx", new CellValue() {
@Override
public Object getValue(Cell cell) {
@@ -85,7 +87,7 @@ public class TestCellFormatPart extends
}
@Test
- public void testNumberApproxFormat() {
+ public void testNumberApproxFormat() throws IOException {
runFormatTests("NumberFormatApproxTests.xlsx", new CellValue() {
@Override
public Object getValue(Cell cell) {
@@ -106,7 +108,7 @@ public class TestCellFormatPart extends
}
@Test
- public void testDateFormat() {
+ public void testDateFormat() throws IOException {
TimeZone tz = LocaleUtil.getUserTimeZone();
LocaleUtil.setUserTimeZone(TimeZone.getTimeZone("CET"));
try {
@@ -122,7 +124,7 @@ public class TestCellFormatPart extends
}
@Test
- public void testElapsedFormat() {
+ public void testElapsedFormat() throws IOException {
runFormatTests("ElapsedFormatTests.xlsx", new CellValue() {
@Override
public Object getValue(Cell cell) {
@@ -132,22 +134,20 @@ public class TestCellFormatPart extends
}
@Test
- public void testTextFormat() {
+ public void testTextFormat() throws IOException {
runFormatTests("TextFormatTests.xlsx", new CellValue() {
@Override
public Object getValue(Cell cell) {
- switch(CellFormat.ultimateType(cell)) {
- case BOOLEAN:
- return cell.getBooleanCellValue();
- default:
- return cell.getStringCellValue();
+ if (CellFormat.ultimateType(cell) == CellType.BOOLEAN) {
+ return cell.getBooleanCellValue();
}
+ return cell.getStringCellValue();
}
});
}
@Test
- public void testConditions() {
+ public void testConditions() throws IOException {
runFormatTests("FormatConditionTests.xlsx", new CellValue() {
@Override
Object getValue(Cell cell) {
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestSumifsXSSF.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestSumifsXSSF.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestSumifsXSSF.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestSumifsXSSF.java Sat Feb 23 07:52:24 2019
@@ -28,6 +28,8 @@ import org.apache.poi.ss.usermodel.Workb
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.junit.Test;
+import java.io.IOException;
+
/**
*
*/
@@ -37,14 +39,15 @@ public class TestSumifsXSSF {
* handle null cell predicate
*/
@Test
- public void testBug60858() {
- Workbook wb = XSSFTestDataSamples.openSampleWorkbook("bug60858.xlsx");
- FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
+ public void testBug60858() throws IOException {
+ try (Workbook wb = XSSFTestDataSamples.openSampleWorkbook("bug60858.xlsx")) {
+ FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
- Sheet sheet = wb.getSheetAt(0);
- Cell cell = sheet.getRow(1).getCell(5);
- fe.evaluate(cell);
- assertEquals(0.0, cell.getNumericCellValue(), 0.0000000000000001);
+ Sheet sheet = wb.getSheetAt(0);
+ Cell cell = sheet.getRow(1).getCell(5);
+ fe.evaluate(cell);
+ assertEquals(0.0, cell.getNumericCellValue(), 0.0000000000000001);
+ }
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/TestXSSFRangeCopier.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/TestXSSFRangeCopier.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/TestXSSFRangeCopier.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/TestXSSFRangeCopier.java Sat Feb 23 07:52:24 2019
@@ -26,9 +26,12 @@ import org.apache.poi.xssf.XSSFTestDataS
import org.apache.poi.xssf.usermodel.XSSFRangeCopier;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import java.io.IOException;
+
public class TestXSSFRangeCopier extends TestRangeCopier {
public TestXSSFRangeCopier() {
super();
@@ -44,6 +47,11 @@ public class TestXSSFRangeCopier extends
transSheetRangeCopier = new XSSFRangeCopier(sheet1, sheet2);
}
+ @After
+ public void shutdown() throws IOException {
+ workbook.close();
+ }
+
@Test // XSSF only. HSSF version wouldn't be so simple. And also this test is contained in following, more complex tests, so it's not really important.
public void copyRow() {
Row existingRow = sheet1.getRow(4);
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFSlideShow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFSlideShow.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFSlideShow.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFSlideShow.java Sat Feb 23 07:52:24 2019
@@ -33,6 +33,7 @@ import org.apache.poi.xslf.usermodel.XSL
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideShow;
import org.apache.xmlbeans.XmlException;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTProperties;
@@ -50,6 +51,11 @@ public class TestXSLFSlideShow {
pack = OPCPackage.open(slTests.openResourceAsStream("sample.pptx"));
}
+ @After
+ public void tearDown() throws IOException {
+ pack.close();
+ }
+
@Test
public void testContainsMainContentType() throws Exception {
boolean found = false;
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestSheetProtection.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestSheetProtection.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestSheetProtection.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestSheetProtection.java Sat Feb 23 07:52:24 2019
@@ -16,21 +16,34 @@
==================================================================== */
package org.apache.poi.xssf;
-import junit.framework.TestCase;
-
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.IOException;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
-public class TestSheetProtection extends TestCase {
+public class TestSheetProtection {
+ private XSSFWorkbook workbook;
private XSSFSheet sheet;
- @Override
- protected void setUp() throws Exception {
- XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("sheetProtection_not_protected.xlsx");
+ @Before
+ public void setUp() {
+ workbook = XSSFTestDataSamples.openSampleWorkbook("sheetProtection_not_protected.xlsx");
sheet = workbook.getSheetAt(0);
}
-
- public void testShouldReadWorkbookProtection() throws Exception {
+
+ @After
+ public void tearDown() throws IOException {
+ workbook.close();
+ }
+
+ @Test
+ public void testShouldReadWorkbookProtection() throws IOException {
assertFalse(sheet.isAutoFilterLocked());
assertFalse(sheet.isDeleteColumnsLocked());
assertFalse(sheet.isDeleteRowsLocked());
@@ -48,27 +61,30 @@ public class TestSheetProtection extends
assertFalse(sheet.isSelectUnlockedCellsLocked());
assertFalse(sheet.isSheetLocked());
- sheet = XSSFTestDataSamples.openSampleWorkbook("sheetProtection_allLocked.xlsx").getSheetAt(0);
+ try (XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("sheetProtection_allLocked.xlsx")) {
+ sheet = workbook.getSheetAt(0);
- assertTrue(sheet.isAutoFilterLocked());
- assertTrue(sheet.isDeleteColumnsLocked());
- assertTrue(sheet.isDeleteRowsLocked());
- assertTrue(sheet.isFormatCellsLocked());
- assertTrue(sheet.isFormatColumnsLocked());
- assertTrue(sheet.isFormatRowsLocked());
- assertTrue(sheet.isInsertColumnsLocked());
- assertTrue(sheet.isInsertHyperlinksLocked());
- assertTrue(sheet.isInsertRowsLocked());
- assertTrue(sheet.isPivotTablesLocked());
- assertTrue(sheet.isSortLocked());
- assertTrue(sheet.isObjectsLocked());
- assertTrue(sheet.isScenariosLocked());
- assertTrue(sheet.isSelectLockedCellsLocked());
- assertTrue(sheet.isSelectUnlockedCellsLocked());
- assertTrue(sheet.isSheetLocked());
+ assertTrue(sheet.isAutoFilterLocked());
+ assertTrue(sheet.isDeleteColumnsLocked());
+ assertTrue(sheet.isDeleteRowsLocked());
+ assertTrue(sheet.isFormatCellsLocked());
+ assertTrue(sheet.isFormatColumnsLocked());
+ assertTrue(sheet.isFormatRowsLocked());
+ assertTrue(sheet.isInsertColumnsLocked());
+ assertTrue(sheet.isInsertHyperlinksLocked());
+ assertTrue(sheet.isInsertRowsLocked());
+ assertTrue(sheet.isPivotTablesLocked());
+ assertTrue(sheet.isSortLocked());
+ assertTrue(sheet.isObjectsLocked());
+ assertTrue(sheet.isScenariosLocked());
+ assertTrue(sheet.isSelectLockedCellsLocked());
+ assertTrue(sheet.isSelectUnlockedCellsLocked());
+ assertTrue(sheet.isSheetLocked());
+ }
}
-
- public void testWriteAutoFilter() throws Exception {
+
+ @Test
+ public void testWriteAutoFilter() {
assertFalse(sheet.isAutoFilterLocked());
sheet.lockAutoFilter(true);
assertFalse(sheet.isAutoFilterLocked());
@@ -77,8 +93,9 @@ public class TestSheetProtection extends
sheet.lockAutoFilter(false);
assertFalse(sheet.isAutoFilterLocked());
}
-
- public void testWriteDeleteColumns() throws Exception {
+
+ @Test
+ public void testWriteDeleteColumns() {
assertFalse(sheet.isDeleteColumnsLocked());
sheet.lockDeleteColumns(true);
assertFalse(sheet.isDeleteColumnsLocked());
@@ -87,8 +104,9 @@ public class TestSheetProtection extends
sheet.lockDeleteColumns(false);
assertFalse(sheet.isDeleteColumnsLocked());
}
-
- public void testWriteDeleteRows() throws Exception {
+
+ @Test
+ public void testWriteDeleteRows() {
assertFalse(sheet.isDeleteRowsLocked());
sheet.lockDeleteRows(true);
assertFalse(sheet.isDeleteRowsLocked());
@@ -97,8 +115,9 @@ public class TestSheetProtection extends
sheet.lockDeleteRows(false);
assertFalse(sheet.isDeleteRowsLocked());
}
-
- public void testWriteFormatCells() throws Exception {
+
+ @Test
+ public void testWriteFormatCells() {
assertFalse(sheet.isFormatCellsLocked());
sheet.lockFormatCells(true);
assertFalse(sheet.isFormatCellsLocked());
@@ -107,8 +126,9 @@ public class TestSheetProtection extends
sheet.lockFormatCells(false);
assertFalse(sheet.isFormatCellsLocked());
}
-
- public void testWriteFormatColumns() throws Exception {
+
+ @Test
+ public void testWriteFormatColumns() {
assertFalse(sheet.isFormatColumnsLocked());
sheet.lockFormatColumns(true);
assertFalse(sheet.isFormatColumnsLocked());
@@ -117,8 +137,9 @@ public class TestSheetProtection extends
sheet.lockFormatColumns(false);
assertFalse(sheet.isFormatColumnsLocked());
}
-
- public void testWriteFormatRows() throws Exception {
+
+ @Test
+ public void testWriteFormatRows() {
assertFalse(sheet.isFormatRowsLocked());
sheet.lockFormatRows(true);
assertFalse(sheet.isFormatRowsLocked());
@@ -127,8 +148,9 @@ public class TestSheetProtection extends
sheet.lockFormatRows(false);
assertFalse(sheet.isFormatRowsLocked());
}
-
- public void testWriteInsertColumns() throws Exception {
+
+ @Test
+ public void testWriteInsertColumns() {
assertFalse(sheet.isInsertColumnsLocked());
sheet.lockInsertColumns(true);
assertFalse(sheet.isInsertColumnsLocked());
@@ -137,8 +159,9 @@ public class TestSheetProtection extends
sheet.lockInsertColumns(false);
assertFalse(sheet.isInsertColumnsLocked());
}
-
- public void testWriteInsertHyperlinks() throws Exception {
+
+ @Test
+ public void testWriteInsertHyperlinks() {
assertFalse(sheet.isInsertHyperlinksLocked());
sheet.lockInsertHyperlinks(true);
assertFalse(sheet.isInsertHyperlinksLocked());
@@ -147,8 +170,9 @@ public class TestSheetProtection extends
sheet.lockInsertHyperlinks(false);
assertFalse(sheet.isInsertHyperlinksLocked());
}
-
- public void testWriteInsertRows() throws Exception {
+
+ @Test
+ public void testWriteInsertRows() {
assertFalse(sheet.isInsertRowsLocked());
sheet.lockInsertRows(true);
assertFalse(sheet.isInsertRowsLocked());
@@ -157,8 +181,9 @@ public class TestSheetProtection extends
sheet.lockInsertRows(false);
assertFalse(sheet.isInsertRowsLocked());
}
-
- public void testWritePivotTables() throws Exception {
+
+ @Test
+ public void testWritePivotTables() {
assertFalse(sheet.isPivotTablesLocked());
sheet.lockPivotTables(true);
assertFalse(sheet.isPivotTablesLocked());
@@ -167,8 +192,9 @@ public class TestSheetProtection extends
sheet.lockPivotTables(false);
assertFalse(sheet.isPivotTablesLocked());
}
-
- public void testWriteSort() throws Exception {
+
+ @Test
+ public void testWriteSort() {
assertFalse(sheet.isSortLocked());
sheet.lockSort(true);
assertFalse(sheet.isSortLocked());
@@ -177,8 +203,9 @@ public class TestSheetProtection extends
sheet.lockSort(false);
assertFalse(sheet.isSortLocked());
}
-
- public void testWriteObjects() throws Exception {
+
+ @Test
+ public void testWriteObjects() {
assertFalse(sheet.isObjectsLocked());
sheet.lockObjects(true);
assertFalse(sheet.isObjectsLocked());
@@ -187,8 +214,9 @@ public class TestSheetProtection extends
sheet.lockObjects(false);
assertFalse(sheet.isObjectsLocked());
}
-
- public void testWriteScenarios() throws Exception {
+
+ @Test
+ public void testWriteScenarios() {
assertFalse(sheet.isScenariosLocked());
sheet.lockScenarios(true);
assertFalse(sheet.isScenariosLocked());
@@ -197,8 +225,9 @@ public class TestSheetProtection extends
sheet.lockScenarios(false);
assertFalse(sheet.isScenariosLocked());
}
-
- public void testWriteSelectLockedCells() throws Exception {
+
+ @Test
+ public void testWriteSelectLockedCells() {
assertFalse(sheet.isSelectLockedCellsLocked());
sheet.lockSelectLockedCells(true);
assertFalse(sheet.isSelectLockedCellsLocked());
@@ -207,8 +236,9 @@ public class TestSheetProtection extends
sheet.lockSelectLockedCells(false);
assertFalse(sheet.isSelectLockedCellsLocked());
}
-
- public void testWriteSelectUnlockedCells() throws Exception {
+
+ @Test
+ public void testWriteSelectUnlockedCells() {
assertFalse(sheet.isSelectUnlockedCellsLocked());
sheet.lockSelectUnlockedCells(true);
assertFalse(sheet.isSelectUnlockedCellsLocked());
@@ -218,43 +248,46 @@ public class TestSheetProtection extends
assertFalse(sheet.isSelectUnlockedCellsLocked());
}
- public void testWriteSelectEnableLocking() throws Exception {
- sheet = XSSFTestDataSamples.openSampleWorkbook("sheetProtection_allLocked.xlsx").getSheetAt(0);
-
- assertTrue(sheet.isAutoFilterLocked());
- assertTrue(sheet.isDeleteColumnsLocked());
- assertTrue(sheet.isDeleteRowsLocked());
- assertTrue(sheet.isFormatCellsLocked());
- assertTrue(sheet.isFormatColumnsLocked());
- assertTrue(sheet.isFormatRowsLocked());
- assertTrue(sheet.isInsertColumnsLocked());
- assertTrue(sheet.isInsertHyperlinksLocked());
- assertTrue(sheet.isInsertRowsLocked());
- assertTrue(sheet.isPivotTablesLocked());
- assertTrue(sheet.isSortLocked());
- assertTrue(sheet.isObjectsLocked());
- assertTrue(sheet.isScenariosLocked());
- assertTrue(sheet.isSelectLockedCellsLocked());
- assertTrue(sheet.isSelectUnlockedCellsLocked());
- assertTrue(sheet.isSheetLocked());
-
- sheet.disableLocking();
-
- assertFalse(sheet.isAutoFilterLocked());
- assertFalse(sheet.isDeleteColumnsLocked());
- assertFalse(sheet.isDeleteRowsLocked());
- assertFalse(sheet.isFormatCellsLocked());
- assertFalse(sheet.isFormatColumnsLocked());
- assertFalse(sheet.isFormatRowsLocked());
- assertFalse(sheet.isInsertColumnsLocked());
- assertFalse(sheet.isInsertHyperlinksLocked());
- assertFalse(sheet.isInsertRowsLocked());
- assertFalse(sheet.isPivotTablesLocked());
- assertFalse(sheet.isSortLocked());
- assertFalse(sheet.isObjectsLocked());
- assertFalse(sheet.isScenariosLocked());
- assertFalse(sheet.isSelectLockedCellsLocked());
- assertFalse(sheet.isSelectUnlockedCellsLocked());
- assertFalse(sheet.isSheetLocked());
+ @Test
+ public void testWriteSelectEnableLocking() throws IOException {
+ try (XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("sheetProtection_allLocked.xlsx")) {
+ sheet = workbook.getSheetAt(0);
+
+ assertTrue(sheet.isAutoFilterLocked());
+ assertTrue(sheet.isDeleteColumnsLocked());
+ assertTrue(sheet.isDeleteRowsLocked());
+ assertTrue(sheet.isFormatCellsLocked());
+ assertTrue(sheet.isFormatColumnsLocked());
+ assertTrue(sheet.isFormatRowsLocked());
+ assertTrue(sheet.isInsertColumnsLocked());
+ assertTrue(sheet.isInsertHyperlinksLocked());
+ assertTrue(sheet.isInsertRowsLocked());
+ assertTrue(sheet.isPivotTablesLocked());
+ assertTrue(sheet.isSortLocked());
+ assertTrue(sheet.isObjectsLocked());
+ assertTrue(sheet.isScenariosLocked());
+ assertTrue(sheet.isSelectLockedCellsLocked());
+ assertTrue(sheet.isSelectUnlockedCellsLocked());
+ assertTrue(sheet.isSheetLocked());
+
+ sheet.disableLocking();
+
+ assertFalse(sheet.isAutoFilterLocked());
+ assertFalse(sheet.isDeleteColumnsLocked());
+ assertFalse(sheet.isDeleteRowsLocked());
+ assertFalse(sheet.isFormatCellsLocked());
+ assertFalse(sheet.isFormatColumnsLocked());
+ assertFalse(sheet.isFormatRowsLocked());
+ assertFalse(sheet.isInsertColumnsLocked());
+ assertFalse(sheet.isInsertHyperlinksLocked());
+ assertFalse(sheet.isInsertRowsLocked());
+ assertFalse(sheet.isPivotTablesLocked());
+ assertFalse(sheet.isSortLocked());
+ assertFalse(sheet.isObjectsLocked());
+ assertFalse(sheet.isScenariosLocked());
+ assertFalse(sheet.isSelectLockedCellsLocked());
+ assertFalse(sheet.isSelectUnlockedCellsLocked());
+ assertFalse(sheet.isSheetLocked());
+ }
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestWorkbookProtection.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestWorkbookProtection.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestWorkbookProtection.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestWorkbookProtection.java Sat Feb 23 07:52:24 2019
@@ -42,151 +42,162 @@ import org.apache.poi.xssf.usermodel.XSS
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Ignore;
import org.junit.Test;
public class TestWorkbookProtection {
@Test
public void workbookAndRevisionPassword() throws Exception {
- XSSFWorkbook workbook;
String password = "test";
// validate password with an actual office file (Excel 2010)
- workbook = openSampleWorkbook("workbookProtection-workbook_password_user_range-2010.xlsx");
- assertTrue(workbook.validateWorkbookPassword(password));
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection-workbook_password_user_range-2010.xlsx")) {
+ assertTrue(workbook.validateWorkbookPassword(password));
+ }
// validate with another office file (Excel 2013)
- workbook = openSampleWorkbook("workbookProtection-workbook_password-2013.xlsx");
- assertTrue(workbook.validateWorkbookPassword(password));
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection-workbook_password-2013.xlsx")){
+ assertTrue(workbook.validateWorkbookPassword(password));
+ }
-
- workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx");
- // setting a null password shouldn't introduce the protection element
- workbook.setWorkbookPassword(null, null);
- assertNull(workbook.getCTWorkbook().getWorkbookProtection());
-
- // compare the hashes
- workbook.setWorkbookPassword(password, null);
- int hashVal = CryptoFunctions.createXorVerifier1(password);
- int actualVal = Integer.parseInt(workbook.getCTWorkbook().getWorkbookProtection().xgetWorkbookPassword().getStringValue(),16);
- assertEquals(hashVal, actualVal);
- assertTrue(workbook.validateWorkbookPassword(password));
-
- // removing the password again
- workbook.setWorkbookPassword(null, null);
- assertFalse(workbook.getCTWorkbook().getWorkbookProtection().isSetWorkbookPassword());
-
- // removing the whole protection structure
- workbook.unLock();
- assertNull(workbook.getCTWorkbook().getWorkbookProtection());
-
- // setting a null password shouldn't introduce the protection element
- workbook.setRevisionsPassword(null, null);
- assertNull(workbook.getCTWorkbook().getWorkbookProtection());
-
- // compare the hashes
- password = "T\u0400ST\u0100passwordWhichIsLongerThan15Chars";
- workbook.setRevisionsPassword(password, null);
- hashVal = CryptoFunctions.createXorVerifier1(password);
- actualVal = Integer.parseInt(workbook.getCTWorkbook().getWorkbookProtection().xgetRevisionsPassword().getStringValue(),16);
- assertEquals(hashVal, actualVal);
- assertTrue(workbook.validateRevisionsPassword(password));
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx")) {
+ // setting a null password shouldn't introduce the protection element
+ workbook.setWorkbookPassword(null, null);
+ assertNull(workbook.getCTWorkbook().getWorkbookProtection());
+
+ // compare the hashes
+ workbook.setWorkbookPassword(password, null);
+ int hashVal = CryptoFunctions.createXorVerifier1(password);
+ int actualVal = Integer.parseInt(workbook.getCTWorkbook().getWorkbookProtection().xgetWorkbookPassword().getStringValue(), 16);
+ assertEquals(hashVal, actualVal);
+ assertTrue(workbook.validateWorkbookPassword(password));
+
+ // removing the password again
+ workbook.setWorkbookPassword(null, null);
+ assertFalse(workbook.getCTWorkbook().getWorkbookProtection().isSetWorkbookPassword());
+
+ // removing the whole protection structure
+ workbook.unLock();
+ assertNull(workbook.getCTWorkbook().getWorkbookProtection());
+
+ // setting a null password shouldn't introduce the protection element
+ workbook.setRevisionsPassword(null, null);
+ assertNull(workbook.getCTWorkbook().getWorkbookProtection());
+
+ // compare the hashes
+ password = "T\u0400ST\u0100passwordWhichIsLongerThan15Chars";
+ workbook.setRevisionsPassword(password, null);
+ hashVal = CryptoFunctions.createXorVerifier1(password);
+ actualVal = Integer.parseInt(workbook.getCTWorkbook().getWorkbookProtection().xgetRevisionsPassword().getStringValue(), 16);
+ assertEquals(hashVal, actualVal);
+ assertTrue(workbook.validateRevisionsPassword(password));
+ }
}
@Test
public void shouldReadWorkbookProtection() throws Exception {
- XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx");
- assertFalse(workbook.isStructureLocked());
- assertFalse(workbook.isWindowsLocked());
- assertFalse(workbook.isRevisionLocked());
-
- workbook = openSampleWorkbook("workbookProtection_workbook_structure_protected.xlsx");
- assertTrue(workbook.isStructureLocked());
- assertFalse(workbook.isWindowsLocked());
- assertFalse(workbook.isRevisionLocked());
-
- workbook = openSampleWorkbook("workbookProtection_workbook_windows_protected.xlsx");
- assertTrue(workbook.isWindowsLocked());
- assertFalse(workbook.isStructureLocked());
- assertFalse(workbook.isRevisionLocked());
-
- workbook = openSampleWorkbook("workbookProtection_workbook_revision_protected.xlsx");
- assertTrue(workbook.isRevisionLocked());
- assertFalse(workbook.isWindowsLocked());
- assertFalse(workbook.isStructureLocked());
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx")) {
+ assertFalse(workbook.isStructureLocked());
+ assertFalse(workbook.isWindowsLocked());
+ assertFalse(workbook.isRevisionLocked());
+ }
+
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_workbook_structure_protected.xlsx")) {
+ assertTrue(workbook.isStructureLocked());
+ assertFalse(workbook.isWindowsLocked());
+ assertFalse(workbook.isRevisionLocked());
+ }
+
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_workbook_windows_protected.xlsx")) {
+ assertTrue(workbook.isWindowsLocked());
+ assertFalse(workbook.isStructureLocked());
+ assertFalse(workbook.isRevisionLocked());
+ }
+
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_workbook_revision_protected.xlsx")) {
+ assertTrue(workbook.isRevisionLocked());
+ assertFalse(workbook.isWindowsLocked());
+ assertFalse(workbook.isStructureLocked());
+ }
}
@Test
public void shouldWriteStructureLock() throws Exception {
- XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx");
- assertFalse(workbook.isStructureLocked());
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx")) {
+ assertFalse(workbook.isStructureLocked());
- workbook.lockStructure();
+ workbook.lockStructure();
- assertTrue(workbook.isStructureLocked());
+ assertTrue(workbook.isStructureLocked());
- workbook.unLockStructure();
+ workbook.unLockStructure();
- assertFalse(workbook.isStructureLocked());
+ assertFalse(workbook.isStructureLocked());
+ }
}
@Test
public void shouldWriteWindowsLock() throws Exception {
- XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx");
- assertFalse(workbook.isWindowsLocked());
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx")) {
+ assertFalse(workbook.isWindowsLocked());
- workbook.lockWindows();
+ workbook.lockWindows();
- assertTrue(workbook.isWindowsLocked());
+ assertTrue(workbook.isWindowsLocked());
- workbook.unLockWindows();
+ workbook.unLockWindows();
- assertFalse(workbook.isWindowsLocked());
+ assertFalse(workbook.isWindowsLocked());
+ }
}
@Test
public void shouldWriteRevisionLock() throws Exception {
- XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx");
- assertFalse(workbook.isRevisionLocked());
+ try (XSSFWorkbook workbook = openSampleWorkbook("workbookProtection_not_protected.xlsx")) {
+ assertFalse(workbook.isRevisionLocked());
- workbook.lockRevision();
+ workbook.lockRevision();
- assertTrue(workbook.isRevisionLocked());
+ assertTrue(workbook.isRevisionLocked());
- workbook.unLockRevision();
+ workbook.unLockRevision();
- assertFalse(workbook.isRevisionLocked());
+ assertFalse(workbook.isRevisionLocked());
+ }
}
@SuppressWarnings("resource")
@Test
public void testHashPassword() throws Exception {
- XSSFWorkbook wb = new XSSFWorkbook();
- wb.lockRevision();
- wb.setRevisionsPassword("test", HashAlgorithm.sha1);
-
- wb = writeOutAndReadBack(wb);
-
- assertTrue(wb.isRevisionLocked());
- assertTrue(wb.validateRevisionsPassword("test"));
+ try (XSSFWorkbook wb = new XSSFWorkbook()) {
+ wb.lockRevision();
+ wb.setRevisionsPassword("test", HashAlgorithm.sha1);
+
+ try (XSSFWorkbook wbBack = writeOutAndReadBack(wb)) {
+
+ assertTrue(wbBack.isRevisionLocked());
+ assertTrue(wbBack.validateRevisionsPassword("test"));
+ }
+ }
}
@SuppressWarnings("resource")
@Test
public void testIntegration() throws Exception {
- XSSFWorkbook wb = new XSSFWorkbook();
- wb.createSheet("Testing purpose sheet");
- assertFalse(wb.isRevisionLocked());
-
- wb.lockRevision();
- wb.setRevisionsPassword("test", null);
-
- wb = writeOutAndReadBack(wb);
-
- assertTrue(wb.isRevisionLocked());
- assertTrue(wb.validateRevisionsPassword("test"));
+ try (XSSFWorkbook wb = new XSSFWorkbook()) {
+ wb.createSheet("Testing purpose sheet");
+ assertFalse(wb.isRevisionLocked());
+
+ wb.lockRevision();
+ wb.setRevisionsPassword("test", null);
+
+ try (XSSFWorkbook wbBack = writeOutAndReadBack(wb)) {
+
+ assertTrue(wbBack.isRevisionLocked());
+ assertTrue(wbBack.validateRevisionsPassword("test"));
+ }
+ }
}
@Test
@@ -194,43 +205,43 @@ public class TestWorkbookProtection {
final String password = "abc123";
final String sheetName = "TestSheet1";
final String cellValue = "customZipEntrySource";
- XSSFWorkbook workbook = new XSSFWorkbook();
- XSSFSheet sheet1 = workbook.createSheet(sheetName);
- XSSFRow row1 = sheet1.createRow(1);
- XSSFCell cell1 = row1.createCell(1);
- cell1.setCellValue(cellValue);
- File tf1 = TempFile.createTempFile("poitest", ".xlsx");
- FileOutputStream fos1 = new FileOutputStream(tf1);
- workbook.write(fos1);
- IOUtils.closeQuietly(fos1);
- POIFSFileSystem poiFileSystem = new POIFSFileSystem();
- EncryptionInfo encryptionInfo = new EncryptionInfo(EncryptionMode.agile);
- Encryptor enc = encryptionInfo.getEncryptor();
- enc.confirmPassword(password);
- FileInputStream fis = new FileInputStream(tf1);
- OPCPackage opc = OPCPackage.open(fis);
- IOUtils.closeQuietly(fis);
- try {
- OutputStream os = enc.getDataStream(poiFileSystem);
- opc.save(os);
- IOUtils.closeQuietly(os);
- } finally {
- IOUtils.closeQuietly(opc);
- }
- tf1.delete();
- FileOutputStream fos2 = new FileOutputStream(tf1);
- poiFileSystem.writeFilesystem(fos2);
- IOUtils.closeQuietly(fos2);
- workbook.close();
- fis = new FileInputStream(tf1);
- POIFSFileSystem poiFileSystem2 = new POIFSFileSystem(fis);
- IOUtils.closeQuietly(fis);
- EncryptionInfo encryptionInfo2 = new EncryptionInfo(poiFileSystem2);
- Decryptor decryptor = encryptionInfo2.getDecryptor();
- decryptor.verifyPassword(password);
- XSSFWorkbook workbook2 = new XSSFWorkbook(decryptor.getDataStream(poiFileSystem2));
- workbook2.close();
- tf1.delete();
+ try (XSSFWorkbook workbook = new XSSFWorkbook()) {
+ XSSFSheet sheet1 = workbook.createSheet(sheetName);
+ XSSFRow row1 = sheet1.createRow(1);
+ XSSFCell cell1 = row1.createCell(1);
+ cell1.setCellValue(cellValue);
+ File tf1 = TempFile.createTempFile("poitest", ".xlsx");
+ FileOutputStream fos1 = new FileOutputStream(tf1);
+ workbook.write(fos1);
+ IOUtils.closeQuietly(fos1);
+ POIFSFileSystem poiFileSystem = new POIFSFileSystem();
+ EncryptionInfo encryptionInfo = new EncryptionInfo(EncryptionMode.agile);
+ Encryptor enc = encryptionInfo.getEncryptor();
+ enc.confirmPassword(password);
+ FileInputStream fis = new FileInputStream(tf1);
+ OPCPackage opc = OPCPackage.open(fis);
+ IOUtils.closeQuietly(fis);
+ try {
+ OutputStream os = enc.getDataStream(poiFileSystem);
+ opc.save(os);
+ IOUtils.closeQuietly(os);
+ } finally {
+ IOUtils.closeQuietly(opc);
+ }
+ assertTrue(tf1.delete());
+ FileOutputStream fos2 = new FileOutputStream(tf1);
+ poiFileSystem.writeFilesystem(fos2);
+ IOUtils.closeQuietly(fos2);
+ workbook.close();
+ fis = new FileInputStream(tf1);
+ POIFSFileSystem poiFileSystem2 = new POIFSFileSystem(fis);
+ IOUtils.closeQuietly(fis);
+ EncryptionInfo encryptionInfo2 = new EncryptionInfo(poiFileSystem2);
+ Decryptor decryptor = encryptionInfo2.getDecryptor();
+ decryptor.verifyPassword(password);
+ XSSFWorkbook workbook2 = new XSSFWorkbook(decryptor.getDataStream(poiFileSystem2));
+ workbook2.close();
+ assertTrue(tf1.delete());
+ }
}
-
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSharedStringsTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSharedStringsTable.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSharedStringsTable.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSharedStringsTable.java Sat Feb 23 07:52:24 2019
@@ -28,29 +28,24 @@ import org.apache.poi.openxml4j.opc.Pack
import org.junit.Test;
public class TestXSSFBSharedStringsTable {
-
-
private static POIDataSamples _ssTests = POIDataSamples.getSpreadSheetInstance();
@Test
public void testBasic() throws Exception {
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("51519.xlsb"))) {
+ List<PackagePart> parts = pkg.getPartsByName(Pattern.compile("/xl/sharedStrings.bin"));
+ assertEquals(1, parts.size());
+
+ XSSFBSharedStringsTable rtbl = new XSSFBSharedStringsTable(parts.get(0));
+ List<String> strings = rtbl.getItems();
+ assertEquals(49, strings.size());
+
+ assertEquals("\u30B3\u30E1\u30F3\u30C8", rtbl.getEntryAt(0));
+ assertEquals("\u65E5\u672C\u30AA\u30E9\u30AF\u30EB", rtbl.getEntryAt(3));
+ assertEquals(55, rtbl.getCount());
+ assertEquals(49, rtbl.getUniqueCount());
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("51519.xlsb"));
- List<PackagePart> parts = pkg.getPartsByName(Pattern.compile("/xl/sharedStrings.bin"));
- assertEquals(1, parts.size());
-
- XSSFBSharedStringsTable rtbl = new XSSFBSharedStringsTable(parts.get(0));
- List<String> strings = rtbl.getItems();
- assertEquals(49, strings.size());
-
- assertEquals("\u30B3\u30E1\u30F3\u30C8", rtbl.getEntryAt(0));
- assertEquals("\u65E5\u672C\u30AA\u30E9\u30AF\u30EB", rtbl.getEntryAt(3));
- assertEquals(55, rtbl.getCount());
- assertEquals(49, rtbl.getUniqueCount());
-
- //TODO: add in tests for phonetic runs
-
+ //TODO: add in tests for phonetic runs
+ }
}
-
-
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSheetHyperlinkManager.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSheetHyperlinkManager.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSheetHyperlinkManager.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/binary/TestXSSFBSheetHyperlinkManager.java Sat Feb 23 07:52:24 2019
@@ -30,25 +30,21 @@ import org.apache.poi.xssf.eventusermode
import org.junit.Test;
public class TestXSSFBSheetHyperlinkManager {
-
private static POIDataSamples _ssTests = POIDataSamples.getSpreadSheetInstance();
@Test
public void testBasic() throws Exception {
-
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("hyperlink.xlsb"));
- XSSFBReader reader = new XSSFBReader(pkg);
- XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) reader.getSheetsData();
- it.next();
- XSSFBHyperlinksTable manager = new XSSFBHyperlinksTable(it.getSheetPart());
- List<XSSFHyperlinkRecord> records = manager.getHyperLinks().get(new CellAddress(0, 0));
- assertNotNull(records);
- assertEquals(1, records.size());
- XSSFHyperlinkRecord record = records.get(0);
- assertEquals("http://tika.apache.org/", record.getLocation());
- assertEquals("rId2", record.getRelId());
-
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("hyperlink.xlsb"))) {
+ XSSFBReader reader = new XSSFBReader(pkg);
+ XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) reader.getSheetsData();
+ it.next();
+ XSSFBHyperlinksTable manager = new XSSFBHyperlinksTable(it.getSheetPart());
+ List<XSSFHyperlinkRecord> records = manager.getHyperLinks().get(new CellAddress(0, 0));
+ assertNotNull(records);
+ assertEquals(1, records.size());
+ XSSFHyperlinkRecord record = records.get(0);
+ assertEquals("http://tika.apache.org/", record.getLocation());
+ assertEquals("rId2", record.getRelId());
+ }
}
-
-
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java Sat Feb 23 07:52:24 2019
@@ -39,47 +39,47 @@ public final class TestReadOnlySharedStr
private static POIDataSamples _ssTests = POIDataSamples.getSpreadSheetInstance();
public void testParse() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
- List<PackagePart> parts = pkg.getPartsByName(Pattern.compile("/xl/sharedStrings.xml"));
- assertEquals(1, parts.size());
-
- SharedStringsTable stbl = new SharedStringsTable(parts.get(0));
- ReadOnlySharedStringsTable rtbl = new ReadOnlySharedStringsTable(parts.get(0));
-
- assertEquals(stbl.getCount(), rtbl.getCount());
- assertEquals(stbl.getUniqueCount(), rtbl.getUniqueCount());
-
- assertEquals(stbl.getItems().size(), stbl.getUniqueCount());
- assertEquals(rtbl.getItems().size(), rtbl.getUniqueCount());
- for(int i=0; i < stbl.getUniqueCount(); i++){
- CTRst i1 = stbl.getEntryAt(i);
- String i2 = rtbl.getEntryAt(i);
- assertEquals(i1.getT(), i2);
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"))) {
+ List<PackagePart> parts = pkg.getPartsByName(Pattern.compile("/xl/sharedStrings.xml"));
+ assertEquals(1, parts.size());
+
+ SharedStringsTable stbl = new SharedStringsTable(parts.get(0));
+ ReadOnlySharedStringsTable rtbl = new ReadOnlySharedStringsTable(parts.get(0));
+
+ assertEquals(stbl.getCount(), rtbl.getCount());
+ assertEquals(stbl.getUniqueCount(), rtbl.getUniqueCount());
+
+ assertEquals(stbl.getItems().size(), stbl.getUniqueCount());
+ assertEquals(rtbl.getItems().size(), rtbl.getUniqueCount());
+ for (int i = 0; i < stbl.getUniqueCount(); i++) {
+ CTRst i1 = stbl.getEntryAt(i);
+ String i2 = rtbl.getEntryAt(i);
+ assertEquals(i1.getT(), i2);
+ }
}
-
}
//51519
public void testPhoneticRuns() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("51519.xlsx"));
- List<PackagePart> parts = pkg.getPartsByName(Pattern.compile("/xl/sharedStrings.xml"));
- assertEquals(1, parts.size());
-
- ReadOnlySharedStringsTable rtbl = new ReadOnlySharedStringsTable(parts.get(0), true);
- List<String> strings = rtbl.getItems();
- assertEquals(49, strings.size());
-
- assertEquals("\u30B3\u30E1\u30F3\u30C8", rtbl.getEntryAt(0));
- assertEquals("\u65E5\u672C\u30AA\u30E9\u30AF\u30EB \u30CB\u30DB\u30F3", rtbl.getEntryAt(3));
-
- //now do not include phonetic runs
- rtbl = new ReadOnlySharedStringsTable(parts.get(0), false);
- strings = rtbl.getItems();
- assertEquals(49, strings.size());
-
- assertEquals("\u30B3\u30E1\u30F3\u30C8", rtbl.getEntryAt(0));
- assertEquals("\u65E5\u672C\u30AA\u30E9\u30AF\u30EB", rtbl.getEntryAt(3));
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("51519.xlsx"))) {
+ List < PackagePart > parts = pkg.getPartsByName(Pattern.compile("/xl/sharedStrings.xml"));
+ assertEquals(1, parts.size());
+
+ ReadOnlySharedStringsTable rtbl = new ReadOnlySharedStringsTable(parts.get(0), true);
+ List<String> strings = rtbl.getItems();
+ assertEquals(49, strings.size());
+
+ assertEquals("\u30B3\u30E1\u30F3\u30C8", rtbl.getEntryAt(0));
+ assertEquals("\u65E5\u672C\u30AA\u30E9\u30AF\u30EB \u30CB\u30DB\u30F3", rtbl.getEntryAt(3));
+
+ //now do not include phonetic runs
+ rtbl =new ReadOnlySharedStringsTable(parts.get(0),false);
+ strings = rtbl.getItems();
+ assertEquals(49, strings.size());
+ assertEquals("\u30B3\u30E1\u30F3\u30C8", rtbl.getEntryAt(0));
+ assertEquals("\u65E5\u672C\u30AA\u30E9\u30AF\u30EB", rtbl.getEntryAt(3));
+ }
}
public void testEmptySSTOnPackageObtainedViaWorkbook() throws Exception {
@@ -90,8 +90,9 @@ public final class TestReadOnlySharedStr
}
public void testEmptySSTOnPackageDirect() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("noSharedStringTable.xlsx"));
- assertEmptySST(pkg);
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("noSharedStringTable.xlsx"))) {
+ assertEmptySST(pkg);
+ }
}
private void assertEmptySST(OPCPackage pkg) throws IOException, SAXException {
@@ -100,5 +101,4 @@ public final class TestReadOnlySharedStr
assertEquals(0, sst.getUniqueCount());
assertNull(sst.getItems()); // same state it's left in if fed a package which has no SST part.
}
-
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java Sat Feb 23 07:52:24 2019
@@ -120,40 +120,41 @@ public class TestXSSFBReader {
@Test
public void testAbsPath() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("testVarious.xlsb"));
- XSSFBReader r = new XSSFBReader(pkg);
- assertEquals("C:\\Users\\tallison\\Desktop\\working\\xlsb\\", r.getAbsPathMetadata());
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("testVarious.xlsb"))) {
+ XSSFBReader r = new XSSFBReader(pkg);
+ assertEquals("C:\\Users\\tallison\\Desktop\\working\\xlsb\\", r.getAbsPathMetadata());
+ }
}
private List<String> getSheets(String testFileName) throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream(testFileName));
- List<String> sheetTexts = new ArrayList<>();
- XSSFBReader r = new XSSFBReader(pkg);
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream(testFileName))) {
+ List<String> sheetTexts = new ArrayList<>();
+ XSSFBReader r = new XSSFBReader(pkg);
// assertNotNull(r.getWorkbookData());
- // assertNotNull(r.getSharedStringsData());
- assertNotNull(r.getXSSFBStylesTable());
- XSSFBSharedStringsTable sst = new XSSFBSharedStringsTable(pkg);
- XSSFBStylesTable xssfbStylesTable = r.getXSSFBStylesTable();
- XSSFBReader.SheetIterator it = (XSSFBReader.SheetIterator) r.getSheetsData();
-
- while (it.hasNext()) {
- InputStream is = it.next();
- String name = it.getSheetName();
- TestSheetHandler testSheetHandler = new TestSheetHandler();
- testSheetHandler.startSheet(name);
- XSSFBSheetHandler sheetHandler = new XSSFBSheetHandler(is,
- xssfbStylesTable,
- it.getXSSFBSheetComments(),
- sst, testSheetHandler,
- new DataFormatter(),
- false);
- sheetHandler.parse();
- testSheetHandler.endSheet();
- sheetTexts.add(testSheetHandler.toString());
+ // assertNotNull(r.getSharedStringsData());
+ assertNotNull(r.getXSSFBStylesTable());
+ XSSFBSharedStringsTable sst = new XSSFBSharedStringsTable(pkg);
+ XSSFBStylesTable xssfbStylesTable = r.getXSSFBStylesTable();
+ XSSFBReader.SheetIterator it = (XSSFBReader.SheetIterator) r.getSheetsData();
+
+ while (it.hasNext()) {
+ InputStream is = it.next();
+ String name = it.getSheetName();
+ TestSheetHandler testSheetHandler = new TestSheetHandler();
+ testSheetHandler.startSheet(name);
+ XSSFBSheetHandler sheetHandler = new XSSFBSheetHandler(is,
+ xssfbStylesTable,
+ it.getXSSFBSheetComments(),
+ sst, testSheetHandler,
+ new DataFormatter(),
+ false);
+ sheetHandler.parse();
+ testSheetHandler.endSheet();
+ sheetTexts.add(testSheetHandler.toString());
+ }
+ return sheetTexts;
}
- return sheetTexts;
-
}
@Test
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java?rev=1854192&r1=1854191&r2=1854192&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java Sat Feb 23 07:52:24 2019
@@ -51,72 +51,76 @@ public final class TestXSSFReader {
@Test
public void testGetBits() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"))) {
- XSSFReader r = new XSSFReader(pkg);
+ XSSFReader r = new XSSFReader(pkg);
- assertNotNull(r.getWorkbookData());
- assertNotNull(r.getSharedStringsData());
- assertNotNull(r.getStylesData());
+ assertNotNull(r.getWorkbookData());
+ assertNotNull(r.getSharedStringsData());
+ assertNotNull(r.getStylesData());
- assertNotNull(r.getSharedStringsTable());
- assertNotNull(r.getStylesTable());
+ assertNotNull(r.getSharedStringsTable());
+ assertNotNull(r.getStylesTable());
+ }
}
@Test
public void testStyles() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"))) {
+
+ XSSFReader r = new XSSFReader(pkg);
+
+ assertEquals(3, r.getStylesTable().getFonts().size());
+ assertEquals(0, r.getStylesTable().getNumDataFormats());
- XSSFReader r = new XSSFReader(pkg);
+ // The Styles Table should have the themes associated with it too
+ assertNotNull(r.getStylesTable().getTheme());
- assertEquals(3, r.getStylesTable().getFonts().size());
- assertEquals(0, r.getStylesTable().getNumDataFormats());
-
- // The Styles Table should have the themes associated with it too
- assertNotNull(r.getStylesTable().getTheme());
-
- // Check we get valid data for the two
- assertNotNull(r.getStylesData());
- assertNotNull(r.getThemesData());
+ // Check we get valid data for the two
+ assertNotNull(r.getStylesData());
+ assertNotNull(r.getThemesData());
+ }
}
@Test
public void testStrings() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"))) {
- XSSFReader r = new XSSFReader(pkg);
+ XSSFReader r = new XSSFReader(pkg);
- assertEquals(11, r.getSharedStringsTable().getItems().size());
- assertEquals("Test spreadsheet", new XSSFRichTextString(r.getSharedStringsTable().getEntryAt(0)).toString());
+ assertEquals(11, r.getSharedStringsTable().getItems().size());
+ assertEquals("Test spreadsheet", new XSSFRichTextString(r.getSharedStringsTable().getEntryAt(0)).toString());
+ }
}
@Test
public void testSheets() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"));
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"))) {
- XSSFReader r = new XSSFReader(pkg);
- byte[] data = new byte[4096];
+ XSSFReader r = new XSSFReader(pkg);
+ byte[] data = new byte[4096];
- // By r:id
- assertNotNull(r.getSheet("rId2"));
- int read = IOUtils.readFully(r.getSheet("rId2"), data);
- assertEquals(974, read);
-
- // All
- Iterator<InputStream> it = r.getSheetsData();
-
- int count = 0;
- while(it.hasNext()) {
- count++;
- InputStream inp = it.next();
- assertNotNull(inp);
- read = IOUtils.readFully(inp, data);
- inp.close();
-
- assertTrue(read > 400);
- assertTrue(read < 1500);
- }
- assertEquals(3, count);
+ // By r:id
+ assertNotNull(r.getSheet("rId2"));
+ int read = IOUtils.readFully(r.getSheet("rId2"), data);
+ assertEquals(974, read);
+
+ // All
+ Iterator<InputStream> it = r.getSheetsData();
+
+ int count = 0;
+ while (it.hasNext()) {
+ count++;
+ InputStream inp = it.next();
+ assertNotNull(inp);
+ read = IOUtils.readFully(inp, data);
+ inp.close();
+
+ assertTrue(read > 400);
+ assertTrue(read < 1500);
+ }
+ assertEquals(3, count);
+ }
}
/**
@@ -125,82 +129,82 @@ public final class TestXSSFReader {
*/
@Test
public void testOrderOfSheets() throws Exception {
- OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("reordered_sheets.xlsx"));
+ try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("reordered_sheets.xlsx"))) {
- XSSFReader r = new XSSFReader(pkg);
+ XSSFReader r = new XSSFReader(pkg);
- String[] sheetNames = {"Sheet4", "Sheet2", "Sheet3", "Sheet1"};
- XSSFReader.SheetIterator it = (XSSFReader.SheetIterator)r.getSheetsData();
+ String[] sheetNames = {"Sheet4", "Sheet2", "Sheet3", "Sheet1"};
+ XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) r.getSheetsData();
- int count = 0;
- while(it.hasNext()) {
- InputStream inp = it.next();
- assertNotNull(inp);
- inp.close();
-
- assertEquals(sheetNames[count], it.getSheetName());
- count++;
- }
- assertEquals(4, count);
+ int count = 0;
+ while (it.hasNext()) {
+ InputStream inp = it.next();
+ assertNotNull(inp);
+ inp.close();
+
+ assertEquals(sheetNames[count], it.getSheetName());
+ count++;
+ }
+ assertEquals(4, count);
+ }
}
@Test
public void testComments() throws Exception {
- OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("comments.xlsx");
- XSSFReader r = new XSSFReader(pkg);
- XSSFReader.SheetIterator it = (XSSFReader.SheetIterator)r.getSheetsData();
-
- int count = 0;
- while(it.hasNext()) {
- count++;
- InputStream inp = it.next();
- inp.close();
-
- if(count == 1) {
- assertNotNull(it.getSheetComments());
- CommentsTable ct = it.getSheetComments();
- assertEquals(1, ct.getNumberOfAuthors());
- assertEquals(3, ct.getNumberOfComments());
- } else {
- assertNull(it.getSheetComments());
- }
+ try (OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("comments.xlsx")) {
+ XSSFReader r = new XSSFReader(pkg);
+ XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) r.getSheetsData();
+
+ int count = 0;
+ while (it.hasNext()) {
+ count++;
+ InputStream inp = it.next();
+ inp.close();
+
+ if (count == 1) {
+ assertNotNull(it.getSheetComments());
+ CommentsTable ct = it.getSheetComments();
+ assertEquals(1, ct.getNumberOfAuthors());
+ assertEquals(3, ct.getNumberOfComments());
+ } else {
+ assertNull(it.getSheetComments());
+ }
+ }
+ assertEquals(3, count);
}
- assertEquals(3, count);
}
/**
* Iterating over a workbook with chart sheets in it, using the
* XSSFReader method
- * @throws Exception
*/
@Test
public void test50119() throws Exception {
- OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("WithChartSheet.xlsx");
- XSSFReader r = new XSSFReader(pkg);
- XSSFReader.SheetIterator it = (XSSFReader.SheetIterator)r.getSheetsData();
-
- while(it.hasNext())
- {
- InputStream stream = it.next();
- stream.close();
+ try (OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("WithChartSheet.xlsx")) {
+ XSSFReader r = new XSSFReader(pkg);
+ XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) r.getSheetsData();
+
+ while (it.hasNext()) {
+ InputStream stream = it.next();
+ stream.close();
+ }
}
}
/**
* Test text extraction from text box using getShapes()
- *
- * @throws Exception
*/
@Test
public void testShapes() throws Exception {
- OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("WithTextBox.xlsx");
- XSSFReader r = new XSSFReader(pkg);
- XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) r.getSheetsData();
-
- String text = getShapesString(it);
- assertContains(text, "Line 1");
- assertContains(text, "Line 2");
- assertContains(text, "Line 3");
+ try (OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("WithTextBox.xlsx")) {
+ XSSFReader r = new XSSFReader(pkg);
+ XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) r.getSheetsData();
+
+ String text = getShapesString(it);
+ assertContains(text, "Line 1");
+ assertContains(text, "Line 2");
+ assertContains(text, "Line 3");
+ }
}
private String getShapesString(XSSFReader.SheetIterator it) {
@@ -222,25 +226,26 @@ public final class TestXSSFReader {
@Test
public void testBug57914() throws Exception {
- OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("57914.xlsx");
- final XSSFReader r;
+ try (OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("57914.xlsx")) {
+ final XSSFReader r;
- // for now expect this to fail, when we fix 57699, this one should fail so we know we should adjust
- // this test as well
- try {
- r = new XSSFReader(pkg);
- fail("This will fail until bug 57699 is fixed");
- } catch (POIXMLException e) {
- assertContains(e.getMessage(), "57699");
- return;
- }
+ // for now expect this to fail, when we fix 57699, this one should fail so we know we should adjust
+ // this test as well
+ try {
+ r = new XSSFReader(pkg);
+ fail("This will fail until bug 57699 is fixed");
+ } catch (POIXMLException e) {
+ assertContains(e.getMessage(), "57699");
+ return;
+ }
- XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) r.getSheetsData();
+ XSSFReader.SheetIterator it = (XSSFReader.SheetIterator) r.getSheetsData();
- String text = getShapesString(it);
- assertContains(text, "Line 1");
- assertContains(text, "Line 2");
- assertContains(text, "Line 3");
+ String text = getShapesString(it);
+ assertContains(text, "Line 1");
+ assertContains(text, "Line 2");
+ assertContains(text, "Line 3");
+ }
}
/**
@@ -249,21 +254,20 @@ public final class TestXSSFReader {
*/
@Test
public void test58747() throws Exception {
- OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("58747.xlsx");
- ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(pkg);
- assertNotNull(strings);
- XSSFReader reader = new XSSFReader(pkg);
- StylesTable styles = reader.getStylesTable();
- assertNotNull(styles);
-
- XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) reader.getSheetsData();
- assertEquals(true, iter.hasNext());
- iter.next();
-
- assertEquals(false, iter.hasNext());
- assertEquals("Orders", iter.getSheetName());
-
- pkg.close();
+ try (OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("58747.xlsx")) {
+ ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(pkg);
+ assertNotNull(strings);
+ XSSFReader reader = new XSSFReader(pkg);
+ StylesTable styles = reader.getStylesTable();
+ assertNotNull(styles);
+
+ XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) reader.getSheetsData();
+ assertTrue(iter.hasNext());
+ iter.next();
+
+ assertFalse(iter.hasNext());
+ assertEquals("Orders", iter.getSheetName());
+ }
}
/**
@@ -272,18 +276,17 @@ public final class TestXSSFReader {
*/
@Test
public void testSheetWithNoRelationshipId() throws Exception {
- OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("60825.xlsx");
- ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(pkg);
- assertNotNull(strings);
- XSSFReader reader = new XSSFReader(pkg);
- StylesTable styles = reader.getStylesTable();
- assertNotNull(styles);
-
- XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) reader.getSheetsData();
- assertNotNull(iter.next());
- assertFalse(iter.hasNext());
-
- pkg.close();
+ try (OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("60825.xlsx")) {
+ ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(pkg);
+ assertNotNull(strings);
+ XSSFReader reader = new XSSFReader(pkg);
+ StylesTable styles = reader.getStylesTable();
+ assertNotNull(styles);
+
+ XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) reader.getSheetsData();
+ assertNotNull(iter.next());
+ assertFalse(iter.hasNext());
+ }
}
/**
@@ -300,18 +303,18 @@ public final class TestXSSFReader {
*/
@Test
public void test61034() throws Exception {
- OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("61034.xlsx");
- XSSFReader reader = new XSSFReader(pkg);
- XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) reader.getSheetsData();
- Set<String> seen = new HashSet<>();
- while (iter.hasNext()) {
- InputStream stream = iter.next();
- String sheetName = iter.getSheetName();
- assertNotContained(seen, sheetName);
- seen.add(sheetName);
- stream.close();
+ try (OPCPackage pkg = XSSFTestDataSamples.openSamplePackage("61034.xlsx")) {
+ XSSFReader reader = new XSSFReader(pkg);
+ XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) reader.getSheetsData();
+ Set<String> seen = new HashSet<>();
+ while (iter.hasNext()) {
+ InputStream stream = iter.next();
+ String sheetName = iter.getSheetName();
+ assertNotContained(seen, sheetName);
+ seen.add(sheetName);
+ stream.close();
+ }
}
- pkg.close();
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org