From: Nick Burch Date: Fri, 1 Jul 2011 15:16:09 +0000 (+0000) Subject: Add unit test that seems to show bug #51461 working just fine X-Git-Tag: REL_3_8_BETA4~350 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=663068fb500c80dc5cec002ee9397205a319b7f1;p=poi.git Add unit test that seems to show bug #51461 working just fine git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1141961 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index 8341f465a5..0982441657 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -25,6 +25,8 @@ import org.apache.poi.hssf.model.InternalWorkbook; import org.apache.poi.hssf.record.*; import org.apache.poi.hssf.record.aggregates.FormulaRecordAggregate; import org.apache.poi.hssf.record.common.UnicodeString; +import org.apache.poi.poifs.filesystem.NPOIFSFileSystem; +import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.formula.ptg.Area3DPtg; import org.apache.poi.ss.formula.ptg.DeletedArea3DPtg; import org.apache.poi.ss.formula.ptg.Ptg; @@ -2123,4 +2125,20 @@ if(1==2) { wb = writeOutAndReadBack(wb); assertEquals(1, wb.getNumberOfSheets()); } + + /** + * File with exactly 256 data blocks (+header block) + * shouldn't break on POIFS loading + */ + public void test51461() throws Exception { + byte[] data = HSSFITestDataProvider.instance.getTestDataFileContent("51461.xls"); + + HSSFWorkbook wbPOIFS = new HSSFWorkbook(new POIFSFileSystem( + new ByteArrayInputStream(data)).getRoot(), false); + HSSFWorkbook wbNPOIFS = new HSSFWorkbook(new NPOIFSFileSystem( + new ByteArrayInputStream(data)).getRoot(), false); + + assertEquals(2, wbPOIFS.getNumberOfSheets()); + assertEquals(2, wbNPOIFS.getNumberOfSheets()); + } } diff --git a/test-data/spreadsheet/51461.xls b/test-data/spreadsheet/51461.xls new file mode 100644 index 0000000000..0f6c1bdfbb Binary files /dev/null and b/test-data/spreadsheet/51461.xls differ