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/05/14 00:37:53 UTC
svn commit: r1889871 [15/17] - in /poi: site/src/documentation/content/xdocs/
site/src/documentation/content/xdocs/components/ trunk/ trunk/maven/
trunk/osgi/ trunk/osgi/src/test/java/org/apache/poi/osgi/
trunk/poi-examples/src/main/java/org/apache/poi...
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestDrawingShapes.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestDrawingShapes.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestDrawingShapes.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestDrawingShapes.java Fri May 14 00:37:50 2021
@@ -469,152 +469,152 @@ class TestDrawingShapes {
@Test
void testRemoveShapes() throws IOException {
- HSSFWorkbook wb1 = new HSSFWorkbook();
- HSSFSheet sheet = wb1.createSheet();
- HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+ try (HSSFWorkbook wb1 = new HSSFWorkbook()) {
+ HSSFSheet sheet1 = wb1.createSheet();
+ HSSFPatriarch patriarch1 = sheet1.createDrawingPatriarch();
- HSSFSimpleShape rectangle = patriarch.createSimpleShape(new HSSFClientAnchor());
- rectangle.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
+ HSSFSimpleShape rectangle = patriarch1.createSimpleShape(new HSSFClientAnchor());
+ rectangle.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
- int idx = wb1.addPicture(new byte[]{1,2,3}, Workbook.PICTURE_TYPE_JPEG);
- patriarch.createPicture(new HSSFClientAnchor(), idx);
+ int idx = wb1.addPicture(new byte[]{1, 2, 3}, Workbook.PICTURE_TYPE_JPEG);
+ patriarch1.createPicture(new HSSFClientAnchor(), idx);
- patriarch.createCellComment(new HSSFClientAnchor());
+ patriarch1.createCellComment(new HSSFClientAnchor());
- HSSFPolygon polygon = patriarch.createPolygon(new HSSFClientAnchor());
- polygon.setPoints(new int[]{1,2}, new int[]{2,3});
+ HSSFPolygon polygon1 = patriarch1.createPolygon(new HSSFClientAnchor());
+ polygon1.setPoints(new int[]{1, 2}, new int[]{2, 3});
- patriarch.createTextbox(new HSSFClientAnchor());
+ patriarch1.createTextbox(new HSSFClientAnchor());
- HSSFShapeGroup group = patriarch.createGroup(new HSSFClientAnchor());
- group.createTextbox(new HSSFChildAnchor());
- group.createPicture(new HSSFChildAnchor(), idx);
+ HSSFShapeGroup group1 = patriarch1.createGroup(new HSSFClientAnchor());
+ group1.createTextbox(new HSSFChildAnchor());
+ group1.createPicture(new HSSFChildAnchor(), idx);
- assertEquals(patriarch.getChildren().size(), 6);
- assertEquals(group.getChildren().size(), 2);
+ assertEquals(patriarch1.getChildren().size(), 6);
+ assertEquals(group1.getChildren().size(), 2);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 12);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch1).getShapeToObjMapping().size(), 12);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch1).getTailRecords().size(), 1);
- HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
- wb1.close();
- sheet = wb2.getSheetAt(0);
- patriarch = sheet.getDrawingPatriarch();
+ try (HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1)) {
+ HSSFSheet sheet2 = wb2.getSheetAt(0);
+ HSSFPatriarch patriarch2 = sheet2.getDrawingPatriarch();
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 12);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch2).getShapeToObjMapping().size(), 12);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch2).getTailRecords().size(), 1);
- assertEquals(patriarch.getChildren().size(), 6);
+ assertEquals(patriarch2.getChildren().size(), 6);
- group = (HSSFShapeGroup) patriarch.getChildren().get(5);
- group.removeShape(group.getChildren().get(0));
+ HSSFShapeGroup group2 = (HSSFShapeGroup) patriarch2.getChildren().get(5);
+ group2.removeShape(group2.getChildren().get(0));
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 10);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch2).getShapeToObjMapping().size(), 10);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch2).getTailRecords().size(), 1);
- HSSFWorkbook wb3 = HSSFTestDataSamples.writeOutAndReadBack(wb2);
- wb2.close();
- sheet = wb3.getSheetAt(0);
- patriarch = sheet.getDrawingPatriarch();
+ try (HSSFWorkbook wb3 = HSSFTestDataSamples.writeOutAndReadBack(wb2)) {
+ HSSFSheet sheet3 = wb3.getSheetAt(0);
+ HSSFPatriarch patriarch3 = sheet3.getDrawingPatriarch();
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 10);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch3).getShapeToObjMapping().size(), 10);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch3).getTailRecords().size(), 1);
- group = (HSSFShapeGroup) patriarch.getChildren().get(5);
- patriarch.removeShape(group);
+ HSSFShapeGroup group3 = (HSSFShapeGroup) patriarch3.getChildren().get(5);
+ patriarch3.removeShape(group3);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 8);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch3).getShapeToObjMapping().size(), 8);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch3).getTailRecords().size(), 1);
- HSSFWorkbook wb4 = HSSFTestDataSamples.writeOutAndReadBack(wb3);
- wb3.close();
- sheet = wb4.getSheetAt(0);
- patriarch = sheet.getDrawingPatriarch();
+ try (HSSFWorkbook wb4 = HSSFTestDataSamples.writeOutAndReadBack(wb3)) {
+ HSSFSheet sheet4 = wb4.getSheetAt(0);
+ HSSFPatriarch patriarch4 = sheet4.getDrawingPatriarch();
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 8);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
- assertEquals(patriarch.getChildren().size(), 5);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch4).getShapeToObjMapping().size(), 8);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch4).getTailRecords().size(), 1);
+ assertEquals(patriarch4.getChildren().size(), 5);
- HSSFShape shape = patriarch.getChildren().get(0);
- patriarch.removeShape(shape);
+ HSSFShape shape4 = patriarch4.getChildren().get(0);
+ patriarch4.removeShape(shape4);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 6);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
- assertEquals(patriarch.getChildren().size(), 4);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch4).getShapeToObjMapping().size(), 6);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch4).getTailRecords().size(), 1);
+ assertEquals(patriarch4.getChildren().size(), 4);
- HSSFWorkbook wb5 = HSSFTestDataSamples.writeOutAndReadBack(wb4);
- wb4.close();
- sheet = wb5.getSheetAt(0);
- patriarch = sheet.getDrawingPatriarch();
+ try (HSSFWorkbook wb5 = HSSFTestDataSamples.writeOutAndReadBack(wb4)) {
+ HSSFSheet sheet5 = wb5.getSheetAt(0);
+ HSSFPatriarch patriarch5 = sheet5.getDrawingPatriarch();
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 6);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
- assertEquals(patriarch.getChildren().size(), 4);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch5).getShapeToObjMapping().size(), 6);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch5).getTailRecords().size(), 1);
+ assertEquals(patriarch5.getChildren().size(), 4);
- HSSFPicture picture = (HSSFPicture) patriarch.getChildren().get(0);
- patriarch.removeShape(picture);
+ HSSFPicture picture5 = (HSSFPicture) patriarch5.getChildren().get(0);
+ patriarch5.removeShape(picture5);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 5);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
- assertEquals(patriarch.getChildren().size(), 3);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch5).getShapeToObjMapping().size(), 5);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch5).getTailRecords().size(), 1);
+ assertEquals(patriarch5.getChildren().size(), 3);
- HSSFWorkbook wb6 = HSSFTestDataSamples.writeOutAndReadBack(wb5);
- wb5.close();
- sheet = wb6.getSheetAt(0);
- patriarch = sheet.getDrawingPatriarch();
+ try (HSSFWorkbook wb6 = HSSFTestDataSamples.writeOutAndReadBack(wb5)) {
+ HSSFSheet sheet6 = wb6.getSheetAt(0);
+ HSSFPatriarch patriarch6 = sheet6.getDrawingPatriarch();
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 5);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 1);
- assertEquals(patriarch.getChildren().size(), 3);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch6).getShapeToObjMapping().size(), 5);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch6).getTailRecords().size(), 1);
+ assertEquals(patriarch6.getChildren().size(), 3);
- HSSFComment comment = (HSSFComment) patriarch.getChildren().get(0);
- patriarch.removeShape(comment);
+ HSSFComment comment6 = (HSSFComment) patriarch6.getChildren().get(0);
+ patriarch6.removeShape(comment6);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 3);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 0);
- assertEquals(patriarch.getChildren().size(), 2);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch6).getShapeToObjMapping().size(), 3);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch6).getTailRecords().size(), 0);
+ assertEquals(patriarch6.getChildren().size(), 2);
- HSSFWorkbook wb7 = HSSFTestDataSamples.writeOutAndReadBack(wb6);
- wb6.close();
- sheet = wb7.getSheetAt(0);
- patriarch = sheet.getDrawingPatriarch();
+ try (HSSFWorkbook wb7 = HSSFTestDataSamples.writeOutAndReadBack(wb6)) {
+ HSSFSheet sheet7 = wb7.getSheetAt(0);
+ HSSFPatriarch patriarch7 = sheet7.getDrawingPatriarch();
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 3);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 0);
- assertEquals(patriarch.getChildren().size(), 2);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch7).getShapeToObjMapping().size(), 3);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch7).getTailRecords().size(), 0);
+ assertEquals(patriarch7.getChildren().size(), 2);
- polygon = (HSSFPolygon) patriarch.getChildren().get(0);
- patriarch.removeShape(polygon);
+ HSSFPolygon polygon7 = (HSSFPolygon) patriarch7.getChildren().get(0);
+ patriarch7.removeShape(polygon7);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 2);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 0);
- assertEquals(patriarch.getChildren().size(), 1);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch7).getShapeToObjMapping().size(), 2);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch7).getTailRecords().size(), 0);
+ assertEquals(patriarch7.getChildren().size(), 1);
- HSSFWorkbook wb8 = HSSFTestDataSamples.writeOutAndReadBack(wb7);
- wb7.close();
- sheet = wb8.getSheetAt(0);
- patriarch = sheet.getDrawingPatriarch();
+ try (HSSFWorkbook wb8 = HSSFTestDataSamples.writeOutAndReadBack(wb7)) {
+ HSSFSheet sheet8 = wb8.getSheetAt(0);
+ HSSFPatriarch patriarch8 = sheet8.getDrawingPatriarch();
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 2);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 0);
- assertEquals(patriarch.getChildren().size(), 1);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch8).getShapeToObjMapping().size(), 2);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch8).getTailRecords().size(), 0);
+ assertEquals(patriarch8.getChildren().size(), 1);
- HSSFTextbox textbox = (HSSFTextbox) patriarch.getChildren().get(0);
- patriarch.removeShape(textbox);
+ HSSFTextbox textbox8 = (HSSFTextbox) patriarch8.getChildren().get(0);
+ patriarch8.removeShape(textbox8);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 0);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 0);
- assertEquals(patriarch.getChildren().size(), 0);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch8).getShapeToObjMapping().size(), 0);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch8).getTailRecords().size(), 0);
+ assertEquals(patriarch8.getChildren().size(), 0);
- HSSFWorkbook wb9 = HSSFTestDataSamples.writeOutAndReadBack(wb8);
- wb8.close();
- sheet = wb9.getSheetAt(0);
- patriarch = sheet.getDrawingPatriarch();
+ try (HSSFWorkbook wb9 = HSSFTestDataSamples.writeOutAndReadBack(wb8)) {
+ HSSFSheet sheet9 = wb9.getSheetAt(0);
+ HSSFPatriarch patriarch9 = sheet9.getDrawingPatriarch();
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(), 0);
- assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(), 0);
- assertEquals(patriarch.getChildren().size(), 0);
- wb9.close();
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch9).getShapeToObjMapping().size(), 0);
+ assertEquals(HSSFTestHelper.getEscherAggregate(patriarch9).getTailRecords().size(), 0);
+ assertEquals(patriarch9.getChildren().size(), 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
@Test
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestEscherRecordFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestEscherRecordFactory.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestEscherRecordFactory.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/model/TestEscherRecordFactory.java Fri May 14 00:37:50 2021
@@ -17,20 +17,16 @@
package org.apache.poi.hssf.model;
-import static org.apache.poi.ddf.DefaultEscherRecordFactory.isContainer;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
-import java.util.Random;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherTextboxRecord;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.record.EscherAggregate;
import org.apache.poi.hssf.record.Record;
@@ -43,7 +39,7 @@ import org.junit.jupiter.api.Test;
class TestEscherRecordFactory {
private static byte[] toByteArray(List<RecordBase> records) {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream();
for (RecordBase rb : records) {
Record r = (org.apache.poi.hssf.record.Record) rb;
try {
@@ -56,31 +52,6 @@ class TestEscherRecordFactory {
}
@Test
- void testDetectContainer() {
- Random rnd = new Random();
- assertTrue(isContainer((short) 0x0, EscherContainerRecord.DG_CONTAINER));
- assertTrue(isContainer((short) 0x0, EscherContainerRecord.SOLVER_CONTAINER));
- assertTrue(isContainer((short) 0x0, EscherContainerRecord.SP_CONTAINER));
- assertTrue(isContainer((short) 0x0, EscherContainerRecord.DGG_CONTAINER));
- assertTrue(isContainer((short) 0x0, EscherContainerRecord.BSTORE_CONTAINER));
- assertTrue(isContainer((short) 0x0, EscherContainerRecord.SPGR_CONTAINER));
-
- for (short i=EscherContainerRecord.DGG_CONTAINER; i<= EscherContainerRecord.SOLVER_CONTAINER; i++){
- assertTrue(isContainer(Integer.valueOf(rnd.nextInt(Short.MAX_VALUE)).shortValue(), i));
- }
-
- assertFalse(isContainer((short) 0x0, Integer.valueOf(EscherContainerRecord.DGG_CONTAINER - 1).shortValue()));
- assertFalse(isContainer((short) 0x0, Integer.valueOf(EscherContainerRecord.SOLVER_CONTAINER + 1).shortValue()));
-
- assertTrue(isContainer((short) 0x000F, Integer.valueOf(EscherContainerRecord.DGG_CONTAINER - 1).shortValue()));
- assertTrue(isContainer((short) 0xFFFF, Integer.valueOf(EscherContainerRecord.DGG_CONTAINER - 1).shortValue()));
- assertFalse(isContainer((short) 0x000C, Integer.valueOf(EscherContainerRecord.DGG_CONTAINER - 1).shortValue()));
- assertFalse(isContainer((short) 0xCCCC, Integer.valueOf(EscherContainerRecord.DGG_CONTAINER - 1).shortValue()));
- assertFalse(isContainer((short) 0x000F, EscherTextboxRecord.RECORD_ID));
- assertFalse(isContainer((short) 0xCCCC, EscherTextboxRecord.RECORD_ID));
- }
-
- @Test
void testDgContainerMustBeRootOfHSSFSheetEscherRecords() {
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("47251.xls");
HSSFSheet sh = wb.getSheetAt(0);
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDConRefRecord.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDConRefRecord.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDConRefRecord.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDConRefRecord.java Fri May 14 00:37:50 2021
@@ -24,10 +24,10 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.util.LittleEndianOutputStream;
import org.junit.jupiter.api.Test;
@@ -209,7 +209,7 @@ class TestDConRefRecord {
private void testReadWrite(byte[] data, String message) throws IOException {
RecordInputStream is = TestcaseRecordInputStream.create(81, data);
DConRefRecord d = new DConRefRecord(is);
- ByteArrayOutputStream bos = new ByteArrayOutputStream(data.length);
+ UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(data.length);
LittleEndianOutputStream o = new LittleEndianOutputStream(bos);
d.serialize(o);
o.flush();
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDrawingRecord.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDrawingRecord.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDrawingRecord.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestDrawingRecord.java Fri May 14 00:37:50 2021
@@ -21,12 +21,11 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.junit.jupiter.api.Test;
final class TestDrawingRecord {
@@ -39,7 +38,7 @@ final class TestDrawingRecord {
void testReadContinued() throws IOException {
//simulate a continues drawing record
- ByteArrayOutputStream out = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream();
//main part
DrawingRecord dg = new DrawingRecord();
byte[] data1 = new byte[8224];
@@ -53,7 +52,7 @@ final class TestDrawingRecord {
ContinueRecord cn = new ContinueRecord(data2);
out.write(cn.serialize());
- List<org.apache.poi.hssf.record.Record> rec = RecordFactory.createRecords(new ByteArrayInputStream(out.toByteArray()));
+ List<org.apache.poi.hssf.record.Record> rec = RecordFactory.createRecords(out.toInputStream());
assertEquals(2, rec.size());
assertTrue(rec.get(0) instanceof DrawingRecord);
assertTrue(rec.get(1) instanceof ContinueRecord);
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestLbsDataSubRecord.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestLbsDataSubRecord.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestLbsDataSubRecord.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestLbsDataSubRecord.java Fri May 14 00:37:50 2021
@@ -25,9 +25,9 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.ss.formula.ptg.AreaPtg;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.util.HexRead;
@@ -166,7 +166,7 @@ final class TestLbsDataSubRecord {
try (LittleEndianInputStream in = new LittleEndianInputStream(new ByteArrayInputStream(data))) {
LbsDataSubRecord.LbsDropData lbs = new LbsDataSubRecord.LbsDropData(in);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream();
try (LittleEndianOutputStream out = new LittleEndianOutputStream(baos)) {
lbs.serialize(out);
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestRecordFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestRecordFactory.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestRecordFactory.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestRecordFactory.java Fri May 14 00:37:50 2021
@@ -22,11 +22,11 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.HexRead;
import org.junit.jupiter.api.Test;
@@ -185,7 +185,7 @@ final class TestRecordFactory {
assertTrue(records.get(4) instanceof ObjRecord);
//serialize and verify that the serialized data is the same as the original
- ByteArrayOutputStream out = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream();
for(org.apache.poi.hssf.record.Record rec : records){
out.write(rec.serialize());
}
@@ -204,7 +204,7 @@ final class TestRecordFactory {
BOFRecord.createSheetBOF(),
EOFRecord.instance,
};
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream();
for (org.apache.poi.hssf.record.Record rec : recs) {
try {
baos.write(rec.serialize());
@@ -222,13 +222,13 @@ final class TestRecordFactory {
}
- POIFSFileSystem fs = new POIFSFileSystem();
- fs.createDocument(new ByteArrayInputStream(baos.toByteArray()), "dummy");
- InputStream is = fs.getRoot().createDocumentInputStream("dummy");
-
- List<org.apache.poi.hssf.record.Record> outRecs = RecordFactory.createRecords(is);
- // Buffer underrun - requested 512 bytes but 192 was available
- assertEquals(5, outRecs.size());
- fs.close();
+ try (POIFSFileSystem fs = new POIFSFileSystem()) {
+ fs.createDocument(baos.toInputStream(), "dummy");
+ InputStream is = fs.getRoot().createDocumentInputStream("dummy");
+
+ List<org.apache.poi.hssf.record.Record> outRecs = RecordFactory.createRecords(is);
+ // Buffer underrun - requested 512 bytes but 192 was available
+ assertEquals(5, outRecs.size());
+ }
}
}
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestSSTRecord.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestSSTRecord.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestSSTRecord.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/TestSSTRecord.java Fri May 14 00:37:50 2021
@@ -24,13 +24,13 @@ import static org.junit.jupiter.api.Asse
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Iterator;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.record.common.UnicodeString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -49,7 +49,7 @@ final class TestSSTRecord {
*/
private static byte[] concatHexDumps(String... hexDumpFileNames) throws IOException {
int nFiles = hexDumpFileNames.length;
- ByteArrayOutputStream baos = new ByteArrayOutputStream(nFiles * 8228);
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream(nFiles * 8228);
for (String sampleFileName : hexDumpFileNames) {
try (InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleFileName)) {
BufferedReader br = new BufferedReader(new InputStreamReader(is, LocaleUtil.CHARSET_1252));
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/common/TestUnicodeString.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/common/TestUnicodeString.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/common/TestUnicodeString.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/record/common/TestUnicodeString.java Fri May 14 00:37:50 2021
@@ -21,10 +21,10 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.hssf.record.ContinueRecord;
import org.apache.poi.hssf.record.RecordInputStream;
import org.apache.poi.hssf.record.SSTRecord;
@@ -36,11 +36,11 @@ import org.apache.poi.ss.usermodel.CellS
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.util.LittleEndianByteArrayInputStream;
-import org.apache.poi.util.LittleEndianByteArrayOutputStream;
import org.apache.poi.util.LittleEndianConsts;
import org.apache.poi.util.LittleEndianInput;
import org.apache.poi.util.LittleEndianInputStream;
import org.apache.poi.util.LittleEndianOutputStream;
+import org.apache.poi.util.LittleEndianByteArrayOutputStream;
import org.apache.poi.util.StringUtil;
import org.junit.jupiter.api.Test;
@@ -185,7 +185,7 @@ final class TestUnicodeString {
assertEquals(4, fr.getCharacterPos());
assertEquals(0x15c, fr.getFontIndex());
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream();
LittleEndianOutputStream out = new LittleEndianOutputStream(baos);
fr.serialize(out);
@@ -216,7 +216,7 @@ final class TestUnicodeString {
assertEquals(0, ext.getPhRuns().length);
assertEquals(10, ext.getDataSize()); // Excludes 4 byte header
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream();
LittleEndianOutputStream out = new LittleEndianOutputStream(baos);
ContinuableRecordOutput cout = new ContinuableRecordOutput(out, 0xffff);
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java Fri May 14 00:37:50 2021
@@ -24,7 +24,6 @@ import static org.junit.jupiter.api.Asse
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.URL;
@@ -46,6 +45,7 @@ import java.util.stream.IntStream;
import javax.imageio.ImageIO;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.hpsf.PropertySet;
import org.apache.poi.hpsf.SummaryInformation;
import org.apache.poi.hssf.HSSFITestDataProvider;
@@ -1175,9 +1175,9 @@ final class TestBugs extends BaseTestBug
@Test
void bug32191() throws IOException {
try (HSSFWorkbook wb = openSampleWorkbook("27394.xls");
- ByteArrayOutputStream out1 = new ByteArrayOutputStream();
- ByteArrayOutputStream out2 = new ByteArrayOutputStream();
- ByteArrayOutputStream out3 = new ByteArrayOutputStream()) {
+ UnsynchronizedByteArrayOutputStream out1 = new UnsynchronizedByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream out2 = new UnsynchronizedByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream out3 = new UnsynchronizedByteArrayOutputStream()) {
wb.write(out1);
wb.write(out2);
wb.write(out3);
@@ -2220,7 +2220,7 @@ final class TestBugs extends BaseTestBug
/**
* Read, write, read for formulas point to cells in other files.
- * See {@link #bug46670()} for the main test, this just
+ * See bug46670() for the main test, this just
* covers reading an existing file and checking it.
*
* See base-test-class for some related tests that still fail
@@ -2331,7 +2331,7 @@ final class TestBugs extends BaseTestBug
}
// Convert BufferedImage to byte[]
- ByteArrayOutputStream imageBAOS = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream imageBAOS = new UnsynchronizedByteArrayOutputStream();
ImageIO.write(bimage, "jpeg", imageBAOS);
imageBAOS.flush();
byte[] imageBytes = imageBAOS.toByteArray();
@@ -2552,7 +2552,7 @@ final class TestBugs extends BaseTestBug
"46904.xls, org.apache.poi.hssf.OldExcelFormatException, The supplied spreadsheet seems to be Excel",
"51832.xls, org.apache.poi.EncryptedDocumentException, Default password is invalid for salt/verifier/verifierHash"
})
- void simpleTest(String fileName, String exClazz, String exMessage) throws IOException, ClassNotFoundException {
+ void simpleTest(String fileName, String exClazz, String exMessage) throws ClassNotFoundException {
Class<? extends Exception> ex = (Class<? extends Exception>)Class.forName(exClazz);
Exception e = assertThrows(ex, () -> simpleTest(fileName, null));
assertTrue(e.getMessage().startsWith(exMessage));
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestDataValidation.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestDataValidation.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestDataValidation.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestDataValidation.java Fri May 14 00:37:50 2021
@@ -24,13 +24,13 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.List;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.hssf.HSSFITestDataProvider;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.record.DVRecord;
@@ -61,7 +61,7 @@ final class TestDataValidation extends B
void assertDataValidation(Workbook wb) {
byte[] generatedContent;
- try (ByteArrayOutputStream baos = new ByteArrayOutputStream(22000)) {
+ try (UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream(22000)) {
wb.write(baos);
generatedContent = baos.toByteArray();
} catch (IOException e) {
@@ -133,7 +133,7 @@ final class TestDataValidation extends B
sheet.addValidationData(dv);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream();
wb.write(baos);
byte[] wbData = baos.toByteArray();
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestEscherGraphics.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestEscherGraphics.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestEscherGraphics.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestEscherGraphics.java Fri May 14 00:37:50 2021
@@ -17,6 +17,7 @@
package org.apache.poi.hssf.usermodel;
+import static org.apache.poi.hssf.HSSFTestDataSamples.writeOutAndReadBack;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -24,8 +25,6 @@ import static org.junit.jupiter.api.Asse
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.junit.jupiter.api.AfterEach;
@@ -46,7 +45,7 @@ final class TestEscherGraphics {
private EscherGraphics graphics;
@BeforeEach
- void setUp() throws IOException {
+ void setUp() {
workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("test");
@@ -82,7 +81,7 @@ final class TestEscherGraphics {
@Test
void testSetFont() {
- Font f = new Font("Helvetica", 0, 12);
+ Font f = new Font("Helvetica", Font.PLAIN, 12);
graphics.setFont(f);
assertEquals(f, graphics.getFont());
}
@@ -112,18 +111,15 @@ final class TestEscherGraphics {
}
@Test
- void testGetDataBackAgain() throws Exception {
+ void testGetDataBackAgain() {
HSSFSheet s;
HSSFShapeGroup s1;
HSSFShapeGroup s2;
patriarch.setCoordinates(10, 20, 30, 40);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- workbook.write(baos);
- workbook = new HSSFWorkbook(new ByteArrayInputStream(baos.toByteArray()));
- s = workbook.getSheetAt(0);
-
+ workbook = writeOutAndReadBack(workbook);
+ s = workbook.getSheetAt(0);
patriarch = s.getDrawingPatriarch();
assertNotNull(patriarch);
@@ -160,11 +156,9 @@ final class TestEscherGraphics {
// Write and re-load once more, to check that's ok
- baos = new ByteArrayOutputStream();
- workbook.write(baos);
- workbook = new HSSFWorkbook(new ByteArrayInputStream(baos.toByteArray()));
- s = workbook.getSheetAt(0);
- patriarch = s.getDrawingPatriarch();
+ workbook = writeOutAndReadBack(workbook);
+ s = workbook.getSheetAt(0);
+ patriarch = s.getDrawingPatriarch();
assertNotNull(patriarch);
assertEquals(10, patriarch.getX1());
@@ -202,11 +196,9 @@ final class TestEscherGraphics {
// but not of their anchors
s1.setCoordinates(2, 3, 1021, 242);
- baos = new ByteArrayOutputStream();
- workbook.write(baos);
- workbook = new HSSFWorkbook(new ByteArrayInputStream(baos.toByteArray()));
- s = workbook.getSheetAt(0);
- patriarch = s.getDrawingPatriarch();
+ workbook = writeOutAndReadBack(workbook);
+ s = workbook.getSheetAt(0);
+ patriarch = s.getDrawingPatriarch();
assertNotNull(patriarch);
assertEquals(10, patriarch.getX1());
@@ -254,12 +246,9 @@ final class TestEscherGraphics {
assertEquals(3, patriarch.getChildren().size());
- baos = new ByteArrayOutputStream();
- workbook.write(baos);
- workbook = new HSSFWorkbook(new ByteArrayInputStream(baos.toByteArray()));
- s = workbook.getSheetAt(0);
-
- patriarch = s.getDrawingPatriarch();
+ workbook = writeOutAndReadBack(workbook);
+ s = workbook.getSheetAt(0);
+ patriarch = s.getDrawingPatriarch();
assertNotNull(patriarch);
assertEquals(10, patriarch.getX1());
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFPicture.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFPicture.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFPicture.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFPicture.java Fri May 14 00:37:50 2021
@@ -47,6 +47,7 @@ final class TestHSSFPicture extends Base
super(HSSFITestDataProvider.instance);
}
+ @Override
protected Picture getPictureShape(Drawing<?> pat, int picIdx) {
return (Picture)((HSSFPatriarch)pat).getChildren().get(picIdx);
}
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java Fri May 14 00:37:50 2021
@@ -28,8 +28,6 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -41,6 +39,7 @@ import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.ddf.EscherBSERecord;
import org.apache.poi.hpsf.ClassID;
@@ -72,6 +71,7 @@ import org.apache.poi.ss.usermodel.Workb
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.TempFile;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
@@ -554,21 +554,17 @@ public final class TestHSSFWorkbook exte
*/
@Test
void bug47920() throws IOException {
- POIFSFileSystem fs1 = new POIFSFileSystem(samples.openResourceAsStream("47920.xls"));
- HSSFWorkbook wb = new HSSFWorkbook(fs1);
- ClassID clsid1 = fs1.getRoot().getStorageClsid();
-
- ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
- wb.write(out);
- byte[] bytes = out.toByteArray();
- POIFSFileSystem fs2 = new POIFSFileSystem(new ByteArrayInputStream(bytes));
- ClassID clsid2 = fs2.getRoot().getStorageClsid();
-
- assertEquals(clsid1, clsid2);
-
- fs2.close();
- wb.close();
- fs1.close();
+ try (POIFSFileSystem fs1 = new POIFSFileSystem(samples.openResourceAsStream("47920.xls"));
+ HSSFWorkbook wb = new HSSFWorkbook(fs1)) {
+ ClassID clsid1 = fs1.getRoot().getStorageClsid();
+
+ UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream(4096);
+ wb.write(out);
+ try (POIFSFileSystem fs2 = new POIFSFileSystem(out.toInputStream())) {
+ ClassID clsid2 = fs2.getRoot().getStorageClsid();
+ assertEquals(clsid1, clsid2);
+ }
+ }
}
/**
@@ -582,8 +578,7 @@ public final class TestHSSFWorkbook exte
"testEXCEL_95.xls,BIFF5"
})
void helpfulExceptionOnOldFiles(String file, String format) throws Exception {
- POIDataSamples xlsData = samples;
- try (InputStream is = xlsData.openResourceAsStream(file)) {
+ try (InputStream is = samples.openResourceAsStream(file)) {
OldExcelFormatException e = assertThrows(OldExcelFormatException.class, () -> new HSSFWorkbook(is),
"Shouldn't be able to load an Excel " + format + " file");
assertContains(e.getMessage(), format);
@@ -978,7 +973,7 @@ public final class TestHSSFWorkbook exte
assertNotNull(name);
assertEquals("ASheet!A1", name.getRefersToFormula());
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream stream = new UnsynchronizedByteArrayOutputStream();
wb.write(stream);
assertSheetOrder(wb, "Sheet1", "Sheet2", "Sheet3", "ASheet");
@@ -989,15 +984,15 @@ public final class TestHSSFWorkbook exte
assertSheetOrder(wb, "Sheet1", "Sheet3", "ASheet");
assertEquals("ASheet!A1", name.getRefersToFormula());
- ByteArrayOutputStream stream2 = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream stream2 = new UnsynchronizedByteArrayOutputStream();
wb.write(stream2);
assertSheetOrder(wb, "Sheet1", "Sheet3", "ASheet");
assertEquals("ASheet!A1", name.getRefersToFormula());
- HSSFWorkbook wb2 = new HSSFWorkbook(new ByteArrayInputStream(stream.toByteArray()));
+ HSSFWorkbook wb2 = new HSSFWorkbook(stream.toInputStream());
expectName(wb2, nameName, "ASheet!A1");
- HSSFWorkbook wb3 = new HSSFWorkbook(new ByteArrayInputStream(stream2.toByteArray()));
+ HSSFWorkbook wb3 = new HSSFWorkbook(stream2.toInputStream());
expectName(wb3, nameName, "ASheet!A1");
wb3.close();
wb2.close();
@@ -1078,7 +1073,7 @@ public final class TestHSSFWorkbook exte
private void writeAndCloseWorkbook(Workbook workbook, File file)
throws IOException {
- final ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+ final UnsynchronizedByteArrayOutputStream bytesOut = new UnsynchronizedByteArrayOutputStream();
workbook.write(bytesOut);
workbook.close();
@@ -1183,7 +1178,8 @@ public final class TestHSSFWorkbook exte
}
}
- void createDrawing() throws Exception {
+ @Disabled
+ void createDrawing() {
// the dimensions for this image are different than for XSSF and SXSSF
}
}
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestOLE2Embeding.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestOLE2Embeding.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestOLE2Embeding.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestOLE2Embeding.java Fri May 14 00:37:50 2021
@@ -21,12 +21,11 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.poifs.filesystem.DirectoryNode;
@@ -60,73 +59,70 @@ final class TestOLE2Embeding {
@Test
void testReallyEmbedSomething() throws Exception {
- HSSFWorkbook wb1 = new HSSFWorkbook();
- HSSFSheet sheet = wb1.createSheet();
- HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
-
- byte[] pictureData = HSSFTestDataSamples.getTestDataFileContent("logoKarmokar4.png");
- byte[] picturePPT = POIDataSamples.getSlideShowInstance().readFile("clock.jpg");
- int imgIdx = wb1.addPicture(pictureData, HSSFWorkbook.PICTURE_TYPE_PNG);
- POIFSFileSystem pptPoifs = getSamplePPT();
- int pptIdx = wb1.addOlePackage(pptPoifs, "Sample-PPT", "sample.ppt", "sample.ppt");
- POIFSFileSystem xlsPoifs = getSampleXLS();
- int imgPPT = wb1.addPicture(picturePPT, HSSFWorkbook.PICTURE_TYPE_JPEG);
- int xlsIdx = wb1.addOlePackage(xlsPoifs, "Sample-XLS", "sample.xls", "sample.xls");
- int txtIdx = wb1.addOlePackage(getSampleTXT(), "Sample-TXT", "sample.txt", "sample.txt");
-
- int rowoffset = 5;
- int coloffset = 5;
-
- CreationHelper ch = wb1.getCreationHelper();
- HSSFClientAnchor anchor = (HSSFClientAnchor)ch.createClientAnchor();
- anchor.setAnchor((short)(2+coloffset), 1+rowoffset, 0, 0, (short)(3+coloffset), 5+rowoffset, 0, 0);
- anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);
-
- patriarch.createObjectData(anchor, pptIdx, imgPPT);
-
- anchor = (HSSFClientAnchor)ch.createClientAnchor();
- anchor.setAnchor((short)(5+coloffset), 1+rowoffset, 0, 0, (short)(6+coloffset), 5+rowoffset, 0, 0);
- anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);
-
- patriarch.createObjectData(anchor, xlsIdx, imgIdx);
-
- anchor = (HSSFClientAnchor)ch.createClientAnchor();
- anchor.setAnchor((short)(3+coloffset), 10+rowoffset, 0, 0, (short)(5+coloffset), 11+rowoffset, 0, 0);
- anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);
-
- patriarch.createObjectData(anchor, txtIdx, imgIdx);
-
- anchor = (HSSFClientAnchor)ch.createClientAnchor();
- anchor.setAnchor((short)(1+coloffset), -2+rowoffset, 0, 0, (short)(7+coloffset), 14+rowoffset, 0, 0);
- anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);
-
- HSSFSimpleShape circle = patriarch.createSimpleShape(anchor);
- circle.setShapeType(HSSFSimpleShape.OBJECT_TYPE_OVAL);
- circle.setNoFill(true);
-
- HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
- wb1.close();
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- HSSFObjectData od = wb2.getAllEmbeddedObjects().get(0);
- Ole10Native ole10 = Ole10Native.createFromEmbeddedOleObject((DirectoryNode)od.getDirectory());
- bos.reset();
- pptPoifs.writeFilesystem(bos);
- assertArrayEquals(ole10.getDataBuffer(), bos.toByteArray());
-
- od = wb2.getAllEmbeddedObjects().get(1);
- ole10 = Ole10Native.createFromEmbeddedOleObject((DirectoryNode)od.getDirectory());
- bos.reset();
- xlsPoifs.writeFilesystem(bos);
- assertArrayEquals(ole10.getDataBuffer(), bos.toByteArray());
-
- od = wb2.getAllEmbeddedObjects().get(2);
- ole10 = Ole10Native.createFromEmbeddedOleObject((DirectoryNode)od.getDirectory());
- assertArrayEquals(ole10.getDataBuffer(), getSampleTXT());
-
- xlsPoifs.close();
- pptPoifs.close();
- wb2.close();
+ try (HSSFWorkbook wb1 = new HSSFWorkbook();
+ POIFSFileSystem pptPoifs = getSamplePPT();
+ POIFSFileSystem xlsPoifs = getSampleXLS()) {
+ HSSFSheet sheet = wb1.createSheet();
+ HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+
+ byte[] pictureData = HSSFTestDataSamples.getTestDataFileContent("logoKarmokar4.png");
+ byte[] picturePPT = POIDataSamples.getSlideShowInstance().readFile("clock.jpg");
+ int imgIdx = wb1.addPicture(pictureData, HSSFWorkbook.PICTURE_TYPE_PNG);
+
+ int pptIdx = wb1.addOlePackage(pptPoifs, "Sample-PPT", "sample.ppt", "sample.ppt");
+ int imgPPT = wb1.addPicture(picturePPT, HSSFWorkbook.PICTURE_TYPE_JPEG);
+ int xlsIdx = wb1.addOlePackage(xlsPoifs, "Sample-XLS", "sample.xls", "sample.xls");
+ int txtIdx = wb1.addOlePackage(getSampleTXT(), "Sample-TXT", "sample.txt", "sample.txt");
+
+ int rowoffset = 5;
+ int coloffset = 5;
+
+ CreationHelper ch = wb1.getCreationHelper();
+ HSSFClientAnchor anchor = (HSSFClientAnchor) ch.createClientAnchor();
+ anchor.setAnchor((short) (2 + coloffset), 1 + rowoffset, 0, 0, (short) (3 + coloffset), 5 + rowoffset, 0, 0);
+ anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);
+
+ patriarch.createObjectData(anchor, pptIdx, imgPPT);
+
+ anchor = (HSSFClientAnchor) ch.createClientAnchor();
+ anchor.setAnchor((short) (5 + coloffset), 1 + rowoffset, 0, 0, (short) (6 + coloffset), 5 + rowoffset, 0, 0);
+ anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);
+
+ patriarch.createObjectData(anchor, xlsIdx, imgIdx);
+
+ anchor = (HSSFClientAnchor) ch.createClientAnchor();
+ anchor.setAnchor((short) (3 + coloffset), 10 + rowoffset, 0, 0, (short) (5 + coloffset), 11 + rowoffset, 0, 0);
+ anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);
+
+ patriarch.createObjectData(anchor, txtIdx, imgIdx);
+
+ anchor = (HSSFClientAnchor) ch.createClientAnchor();
+ anchor.setAnchor((short) (1 + coloffset), -2 + rowoffset, 0, 0, (short) (7 + coloffset), 14 + rowoffset, 0, 0);
+ anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE);
+
+ HSSFSimpleShape circle = patriarch.createSimpleShape(anchor);
+ circle.setShapeType(HSSFSimpleShape.OBJECT_TYPE_OVAL);
+ circle.setNoFill(true);
+
+ try (HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1)) {
+ UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
+ HSSFObjectData od = wb2.getAllEmbeddedObjects().get(0);
+ Ole10Native ole10 = Ole10Native.createFromEmbeddedOleObject((DirectoryNode) od.getDirectory());
+ bos.reset();
+ pptPoifs.writeFilesystem(bos);
+ assertArrayEquals(ole10.getDataBuffer(), bos.toByteArray());
+
+ od = wb2.getAllEmbeddedObjects().get(1);
+ ole10 = Ole10Native.createFromEmbeddedOleObject((DirectoryNode) od.getDirectory());
+ bos.reset();
+ xlsPoifs.writeFilesystem(bos);
+ assertArrayEquals(ole10.getDataBuffer(), bos.toByteArray());
+
+ od = wb2.getAllEmbeddedObjects().get(2);
+ ole10 = Ole10Native.createFromEmbeddedOleObject((DirectoryNode) od.getDirectory());
+ assertArrayEquals(ole10.getDataBuffer(), getSampleTXT());
+ }
+ }
}
static POIFSFileSystem getSamplePPT() throws IOException {
@@ -139,15 +135,15 @@ final class TestOLE2Embeding {
}
static POIFSFileSystem getSampleXLS() throws IOException {
- HSSFWorkbook wb = new HSSFWorkbook();
- HSSFSheet sheet = wb.createSheet();
- sheet.createRow(5).createCell(2).setCellValue("yo dawg i herd you like embeddet objekts, so we put a ole in your ole so you can save a file while you save a file");
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- wb.write(bos);
- wb.close();
+ UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
+ try (HSSFWorkbook wb = new HSSFWorkbook()) {
+ HSSFSheet sheet = wb.createSheet();
+ sheet.createRow(5).createCell(2).setCellValue("yo dawg i herd you like embeddet objekts, so we put a ole in your ole so you can save a file while you save a file");
+
+ wb.write(bos);
+ }
- return new POIFSFileSystem(new ByteArrayInputStream(bos.toByteArray()));
+ return new POIFSFileSystem(bos.toInputStream());
}
static byte[] getSampleTXT() {
Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestPOIFSProperties.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestPOIFSProperties.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestPOIFSProperties.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/TestPOIFSProperties.java Fri May 14 00:37:50 2021
@@ -21,11 +21,14 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import org.apache.poi.hpsf.*;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
+import org.apache.poi.hpsf.NoPropertySetStreamException;
+import org.apache.poi.hpsf.PropertySetFactory;
+import org.apache.poi.hpsf.SummaryInformation;
+import org.apache.poi.hpsf.WritingNotSupportedException;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.HexDump;
@@ -38,12 +41,11 @@ class TestPOIFSProperties {
private static final String title = "Testing POIFS properties";
@Test
- void testFail() throws Exception {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- { // read the workbook, adjust the SummaryInformation and write the data to a byte array
- POIFSFileSystem fs = openFileSystem();
-
- HSSFWorkbook wb = new HSSFWorkbook(fs);
+ void testFail() throws IOException, NoPropertySetStreamException, WritingNotSupportedException {
+ UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream();
+ // read the workbook, adjust the SummaryInformation and write the data to a byte array
+ try (POIFSFileSystem fs = openFileSystem();
+ HSSFWorkbook wb = new HSSFWorkbook(fs)) {
//set POIFS properties after constructing HSSFWorkbook
//(a piece of code that used to work up to POI 3.0.2)
@@ -51,8 +53,6 @@ class TestPOIFSProperties {
//save the workbook and read the property
wb.write(out);
- out.close();
- wb.close();
}
// process the byte array
@@ -61,18 +61,16 @@ class TestPOIFSProperties {
@Test
void testOK() throws Exception {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- { // read the workbook, adjust the SummaryInformation and write the data to a byte array
- POIFSFileSystem fs = openFileSystem();
+ UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream();
+ // read the workbook, adjust the SummaryInformation and write the data to a byte array
+ try (POIFSFileSystem fs = openFileSystem()) {
//set POIFS properties before constructing HSSFWorkbook
setTitle(fs);
- HSSFWorkbook wb = new HSSFWorkbook(fs);
-
- wb.write(out);
- out.close();
- wb.close();
+ try (HSSFWorkbook wb = new HSSFWorkbook(fs)) {
+ wb.write(out);
+ }
}
// process the byte array
@@ -80,13 +78,12 @@ class TestPOIFSProperties {
}
private POIFSFileSystem openFileSystem() throws IOException {
- InputStream is = HSSFTestDataSamples.openSampleFileStream("Simple.xls");
- POIFSFileSystem fs = new POIFSFileSystem(is);
- is.close();
- return fs;
+ try (InputStream is = HSSFTestDataSamples.openSampleFileStream("Simple.xls")) {
+ return new POIFSFileSystem(is);
+ }
}
- private void setTitle(POIFSFileSystem fs) throws NoPropertySetStreamException, MarkUnsupportedException, IOException, WritingNotSupportedException {
+ private void setTitle(POIFSFileSystem fs) throws NoPropertySetStreamException, IOException, WritingNotSupportedException {
SummaryInformation summary1 = (SummaryInformation) PropertySetFactory.create(fs.createDocumentInputStream(SummaryInformation.DEFAULT_STREAM_NAME));
assertNotNull(summary1);
@@ -100,16 +97,15 @@ class TestPOIFSProperties {
assertNotNull(summaryCheck);
}
- private void checkFromByteArray(byte[] bytes) throws IOException, NoPropertySetStreamException, MarkUnsupportedException {
+ private void checkFromByteArray(byte[] bytes) throws IOException, NoPropertySetStreamException {
// on some environments in CI we see strange failures, let's verify that the size is exactly right
// this can be removed again after the problem is identified
assertEquals(5120, bytes.length, "Had: " + HexDump.toHex(bytes));
- POIFSFileSystem fs2 = new POIFSFileSystem(new ByteArrayInputStream(bytes));
- SummaryInformation summary2 = (SummaryInformation) PropertySetFactory.create(fs2.createDocumentInputStream(SummaryInformation.DEFAULT_STREAM_NAME));
- assertNotNull(summary2);
-
- assertEquals(title, summary2.getTitle());
- fs2.close();
+ try (POIFSFileSystem fs2 = new POIFSFileSystem(new ByteArrayInputStream(bytes))) {
+ SummaryInformation summary2 = (SummaryInformation) PropertySetFactory.create(fs2.createDocumentInputStream(SummaryInformation.DEFAULT_STREAM_NAME));
+ assertNotNull(summary2);
+ assertEquals(title, summary2.getTitle());
+ }
}
}
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/crypt/TestXorEncryption.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/crypt/TestXorEncryption.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/crypt/TestXorEncryption.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/crypt/TestXorEncryption.java Fri May 14 00:37:50 2021
@@ -17,12 +17,12 @@
package org.apache.poi.poifs.crypt;
+import static org.apache.poi.hssf.HSSFTestDataSamples.getSampleFile;
+import static org.apache.poi.hssf.HSSFTestDataSamples.writeOutAndReadBack;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
@@ -37,9 +37,6 @@ import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
class TestXorEncryption {
-
- private static final HSSFTestDataSamples samples = new HSSFTestDataSamples();
-
@Test
void testXorEncryption() {
// Xor-Password: abc
@@ -56,10 +53,9 @@ class TestXorEncryption {
assertThat(xorArrExp, equalTo(xorArrAct));
}
- @SuppressWarnings("static-access")
@Test
void testUserFile() throws IOException {
- File f = samples.getSampleFile("xor-encryption-abc.xls");
+ File f = getSampleFile("xor-encryption-abc.xls");
Biff8EncryptionKey.setCurrentUserPassword("abc");
try (POIFSFileSystem fs = new POIFSFileSystem(f, true);
HSSFWorkbook hwb = new HSSFWorkbook(fs.getRoot(), true)) {
@@ -75,16 +71,14 @@ class TestXorEncryption {
@Test
@Disabled("currently not supported")
void encrypt() throws IOException {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
try (HSSFWorkbook hwb = HSSFTestDataSamples.openSampleWorkbook("SampleSS.xls")) {
Biff8EncryptionKey.setCurrentUserPassword("abc");
hwb.getInternalWorkbook().getWorkbookRecordList()
.add(1, new FilePassRecord(EncryptionMode.xor));
- hwb.write(bos);
- }
- try (HSSFWorkbook hwb = new HSSFWorkbook(new ByteArrayInputStream(bos.toByteArray()))) {
- assertEquals(3, hwb.getNumberOfSheets());
+ try (HSSFWorkbook hwb2 = writeOutAndReadBack(hwb)) {
+ assertEquals(3, hwb2.getNumberOfSheets());
+ }
}
} finally {
Biff8EncryptionKey.setCurrentUserPassword(null);
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/dev/TestPOIFSDump.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/dev/TestPOIFSDump.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/dev/TestPOIFSDump.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/dev/TestPOIFSDump.java Fri May 14 00:37:50 2021
@@ -34,7 +34,7 @@ import org.apache.poi.poifs.filesystem.N
import org.apache.poi.poifs.filesystem.OfficeXmlFileException;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.poifs.property.PropertyTable;
-import org.apache.poi.util.NullPrintStream;
+import org.apache.commons.io.output.NullPrintStream;
import org.apache.poi.util.TempFile;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
@@ -150,7 +150,7 @@ public class TestPOIFSDump {
}
@Test
- void testMainNoArgs() throws Exception {
+ void testMainNoArgs() {
SecurityManager sm = System.getSecurityManager();
try {
System.setSecurityManager(new SecurityManager() {
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestDocument.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestDocument.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestDocument.java Fri May 14 00:37:50 2021
@@ -21,14 +21,15 @@ import static org.apache.poi.poifs.commo
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.stream.IntStream;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.poifs.property.DocumentProperty;
import org.apache.poi.poifs.storage.RawDataUtil;
import org.apache.poi.util.IOUtils;
@@ -67,7 +68,7 @@ class TestDocument {
// verify that output is correct
POIFSDocument document = checkDocument(poifs, LARGER_BIG_BLOCK_SIZE + 1);
DocumentProperty property = document.getDocumentProperty();
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream stream = new UnsynchronizedByteArrayOutputStream();
property.writeData(stream);
byte[] output = stream.toByteArray();
@@ -111,7 +112,7 @@ class TestDocument {
private static byte[] checkValues(final int blockCountExp, POIFSDocument document, byte[] input) throws IOException {
assertNotNull(document);
assertNotNull(document.getDocumentProperty().getDocument());
- assertEquals(document, document.getDocumentProperty().getDocument());
+ assertSame(document, document.getDocumentProperty().getDocument());
ByteArrayInputStream bis = new ByteArrayInputStream(input);
@@ -134,7 +135,7 @@ class TestDocument {
assertEquals(blockCountExp, blockCountAct);
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream stream = new UnsynchronizedByteArrayOutputStream();
try (DocumentInputStream dis = document.getFileSystem().createDocumentInputStream(
document.getDocumentProperty().getName())) {
IOUtils.copy(dis, stream);
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestDocumentOutputStream.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestDocumentOutputStream.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestDocumentOutputStream.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestDocumentOutputStream.java Fri May 14 00:37:50 2021
@@ -22,10 +22,10 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.fail;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.util.IOUtils;
import org.junit.jupiter.api.Test;
@@ -46,7 +46,7 @@ final class TestDocumentOutputStream {
try {
for (byte b : expected) {
- dstream.write((int)b);
+ dstream.write(b);
}
} catch (IOException ignored) {
fail("stream exhausted too early");
@@ -115,7 +115,7 @@ final class TestDocumentOutputStream {
root.createDocument("foo", expected.length, l);
try (DocumentInputStream is = root.createDocumentInputStream("foo")) {
- final ByteArrayOutputStream bos = new ByteArrayOutputStream(expected.length);
+ final UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(expected.length);
IOUtils.copy(is, bos);
assertArrayEquals(expected, bos.toByteArray());
}
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestEmptyDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestEmptyDocument.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestEmptyDocument.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestEmptyDocument.java Fri May 14 00:37:50 2021
@@ -22,10 +22,10 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.stream.Stream;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.poi.util.IOUtils;
@@ -82,9 +82,9 @@ final class TestEmptyDocument {
DirectoryEntry dir = fs.getRoot();
emptyDoc.handle(dir);
- ByteArrayOutputStream out = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream();
fs.writeFilesystem(out);
- assertDoesNotThrow(() -> new POIFSFileSystem(new ByteArrayInputStream(out.toByteArray())));
+ assertDoesNotThrow(() -> new POIFSFileSystem(out.toInputStream()));
}
}
@@ -92,7 +92,7 @@ final class TestEmptyDocument {
void testEmptyDocumentBug11744() throws Exception {
byte[] testData = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- ByteArrayOutputStream out = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream out = new UnsynchronizedByteArrayOutputStream();
try (POIFSFileSystem fs = new POIFSFileSystem()) {
fs.createDocument(new ByteArrayInputStream(new byte[0]), "Empty");
fs.createDocument(new ByteArrayInputStream(testData), "NotEmpty");
@@ -100,7 +100,7 @@ final class TestEmptyDocument {
}
// This line caused the error.
- try (POIFSFileSystem fs = new POIFSFileSystem(new ByteArrayInputStream(out.toByteArray()))) {
+ try (POIFSFileSystem fs = new POIFSFileSystem(out.toInputStream())) {
DocumentEntry entry = (DocumentEntry) fs.getRoot().getEntry("Empty");
assertEquals(0, entry.getSize(), "Expected zero size");
byte[] actualReadbackData;
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestEntryUtils.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestEntryUtils.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestEntryUtils.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestEntryUtils.java Fri May 14 00:37:50 2021
@@ -24,12 +24,13 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.junit.jupiter.api.Test;
class TestEntryUtils {
@@ -101,51 +102,52 @@ class TestEntryUtils {
@Test
void testAreDocumentsIdentical() throws IOException {
- POIFSFileSystem fs = new POIFSFileSystem();
- DirectoryEntry dirA = fs.createDirectory("DirA");
- DirectoryEntry dirB = fs.createDirectory("DirB");
+ try (POIFSFileSystem fs = new POIFSFileSystem()) {
+ DirectoryEntry dirA = fs.createDirectory("DirA");
+ DirectoryEntry dirB = fs.createDirectory("DirB");
- DocumentEntry entryA1 = dirA.createDocument("Entry1", new ByteArrayInputStream(dataSmallA));
- DocumentEntry entryA1b = dirA.createDocument("Entry1b", new ByteArrayInputStream(dataSmallA));
- DocumentEntry entryA2 = dirA.createDocument("Entry2", new ByteArrayInputStream(dataSmallB));
- DocumentEntry entryB1 = dirB.createDocument("Entry1", new ByteArrayInputStream(dataSmallA));
+ DocumentEntry entryA1 = dirA.createDocument("Entry1", new ByteArrayInputStream(dataSmallA));
+ DocumentEntry entryA1b = dirA.createDocument("Entry1b", new ByteArrayInputStream(dataSmallA));
+ DocumentEntry entryA2 = dirA.createDocument("Entry2", new ByteArrayInputStream(dataSmallB));
+ DocumentEntry entryB1 = dirB.createDocument("Entry1", new ByteArrayInputStream(dataSmallA));
- // Names must match
- assertNotEquals(entryA1.getName(), entryA1b.getName());
- assertFalse(EntryUtils.areDocumentsIdentical(entryA1, entryA1b));
+ // Names must match
+ assertNotEquals(entryA1.getName(), entryA1b.getName());
+ assertFalse(EntryUtils.areDocumentsIdentical(entryA1, entryA1b));
- // Contents must match
- assertFalse(EntryUtils.areDocumentsIdentical(entryA1, entryA2));
+ // Contents must match
+ assertFalse(EntryUtils.areDocumentsIdentical(entryA1, entryA2));
- // Parents don't matter if contents + names are the same
- assertNotEquals(entryA1.getParent(), entryB1.getParent());
- assertTrue(EntryUtils.areDocumentsIdentical(entryA1, entryB1));
+ // Parents don't matter if contents + names are the same
+ assertNotEquals(entryA1.getParent(), entryB1.getParent());
+ assertTrue(EntryUtils.areDocumentsIdentical(entryA1, entryB1));
- // Can work with POIFS
- ByteArrayOutputStream tmpO = new ByteArrayOutputStream();
- fs.writeFilesystem(tmpO);
+ // Can work with POIFS
+ try (UnsynchronizedByteArrayOutputStream tmpO = new UnsynchronizedByteArrayOutputStream()) {
+ fs.writeFilesystem(tmpO);
- ByteArrayInputStream tmpI = new ByteArrayInputStream(tmpO.toByteArray());
- POIFSFileSystem nfs = new POIFSFileSystem(tmpI);
+ try (InputStream tmpI = tmpO.toInputStream();
+ POIFSFileSystem nfs = new POIFSFileSystem(tmpI)) {
- DirectoryEntry dN1 = (DirectoryEntry)nfs.getRoot().getEntry("DirA");
- DirectoryEntry dN2 = (DirectoryEntry)nfs.getRoot().getEntry("DirB");
- DocumentEntry eNA1 = (DocumentEntry)dN1.getEntry(entryA1.getName());
- DocumentEntry eNA2 = (DocumentEntry)dN1.getEntry(entryA2.getName());
- DocumentEntry eNB1 = (DocumentEntry)dN2.getEntry(entryB1.getName());
+ DirectoryEntry dN1 = (DirectoryEntry) nfs.getRoot().getEntry("DirA");
+ DirectoryEntry dN2 = (DirectoryEntry) nfs.getRoot().getEntry("DirB");
+ DocumentEntry eNA1 = (DocumentEntry) dN1.getEntry(entryA1.getName());
+ DocumentEntry eNA2 = (DocumentEntry) dN1.getEntry(entryA2.getName());
+ DocumentEntry eNB1 = (DocumentEntry) dN2.getEntry(entryB1.getName());
- assertFalse(EntryUtils.areDocumentsIdentical(eNA1, eNA2));
- assertTrue(EntryUtils.areDocumentsIdentical(eNA1, eNB1));
+ assertFalse(EntryUtils.areDocumentsIdentical(eNA1, eNA2));
+ assertTrue(EntryUtils.areDocumentsIdentical(eNA1, eNB1));
- assertFalse(EntryUtils.areDocumentsIdentical(eNA1, entryA1b));
- assertFalse(EntryUtils.areDocumentsIdentical(eNA1, entryA2));
+ assertFalse(EntryUtils.areDocumentsIdentical(eNA1, entryA1b));
+ assertFalse(EntryUtils.areDocumentsIdentical(eNA1, entryA2));
- assertTrue(EntryUtils.areDocumentsIdentical(eNA1, entryA1));
- assertTrue(EntryUtils.areDocumentsIdentical(eNA1, entryB1));
- nfs.close();
- fs.close();
+ assertTrue(EntryUtils.areDocumentsIdentical(eNA1, entryA1));
+ assertTrue(EntryUtils.areDocumentsIdentical(eNA1, entryB1));
+ }
+ }
+ }
}
@Test
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java Fri May 14 00:37:50 2021
@@ -20,8 +20,6 @@ package org.apache.poi.poifs.filesystem;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
@@ -29,6 +27,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.POIDataSamples;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -141,11 +140,10 @@ final class TestFileSystemBugs {
EntryUtils.copyNodes(root, dest);
// Re-load
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream();
root.getFileSystem().writeFilesystem(baos);
- POIFSFileSystem read = new POIFSFileSystem(
- new ByteArrayInputStream(baos.toByteArray()));
+ POIFSFileSystem read = new POIFSFileSystem(baos.toInputStream());
// Check the structure matches
checkSizes("/", read.getRoot(), entries);
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestOle10Native.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestOle10Native.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestOle10Native.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestOle10Native.java Fri May 14 00:37:50 2021
@@ -23,7 +23,6 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -31,6 +30,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.RecordFormatException;
@@ -62,25 +62,24 @@ class TestOle10Native {
};
for (File f : files) {
- POIFSFileSystem fs = new POIFSFileSystem(f, true);
- List<Entry> entries = new ArrayList<>();
- findOle10(entries, fs.getRoot(), "/");
-
- for (Entry e : entries) {
- ByteArrayOutputStream bosExp = new ByteArrayOutputStream();
- InputStream is = ((DirectoryNode)e.getParent()).createDocumentInputStream(e);
- IOUtils.copy(is,bosExp);
- is.close();
+ try (POIFSFileSystem fs = new POIFSFileSystem(f, true)) {
+ List<Entry> entries = new ArrayList<>();
+ findOle10(entries, fs.getRoot(), "/");
+
+ for (Entry e : entries) {
+ UnsynchronizedByteArrayOutputStream bosExp = new UnsynchronizedByteArrayOutputStream();
+ try (InputStream is = ((DirectoryNode) e.getParent()).createDocumentInputStream(e)) {
+ IOUtils.copy(is, bosExp);
+ }
- Ole10Native ole = Ole10Native.createFromEmbeddedOleObject((DirectoryNode)e.getParent());
+ Ole10Native ole = Ole10Native.createFromEmbeddedOleObject((DirectoryNode) e.getParent());
- ByteArrayOutputStream bosAct = new ByteArrayOutputStream();
- ole.writeOut(bosAct);
+ UnsynchronizedByteArrayOutputStream bosAct = new UnsynchronizedByteArrayOutputStream();
+ ole.writeOut(bosAct);
- assertThat(bosExp.toByteArray(), equalTo(bosAct.toByteArray()));
+ assertThat(bosExp.toByteArray(), equalTo(bosAct.toByteArray()));
+ }
}
-
- fs.close();
}
}
Modified: poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestPOIFSFileSystem.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestPOIFSFileSystem.java?rev=1889871&r1=1889870&r2=1889871&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestPOIFSFileSystem.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/poifs/filesystem/TestPOIFSFileSystem.java Fri May 14 00:37:50 2021
@@ -23,13 +23,13 @@ import static org.junit.jupiter.api.Asse
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.util.HashMap;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.hpsf.NoPropertySetStreamException;
import org.apache.poi.hpsf.Property;
@@ -44,7 +44,6 @@ import org.apache.poi.util.IOUtils;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
-import org.junit.jupiter.params.provider.ValueSource;
/**
* Tests for the older OPOIFS-based POIFSFileSystem
@@ -147,7 +146,7 @@ final class TestPOIFSFileSystem {
try (POIFSFileSystem fs = new POIFSFileSystem(_samples.openResourceAsStream(file))) {
// Write it into a temp output array
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream();
fs.writeFilesystem(baos);
// Check sizes
@@ -186,7 +185,7 @@ final class TestPOIFSFileSystem {
"BIG", new ByteArrayInputStream(hugeStream)
);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream baos = new UnsynchronizedByteArrayOutputStream();
fs.writeFilesystem(baos);
byte[] fsData = baos.toByteArray();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org