diff options
author | Nick Burch <nick@apache.org> | 2008-11-12 18:25:33 +0000 |
---|---|---|
committer | Nick Burch <nick@apache.org> | 2008-11-12 18:25:33 +0000 |
commit | 1b24850c7cd4251a35ad39a41195da134b194416 (patch) | |
tree | aa0e32123465a3d731d7994af58f1ab138123d98 /src/testcases | |
parent | 84d10b7ecd5956e5deaa1e9a10903c2921f97f46 (diff) | |
download | poi-1b24850c7cd4251a35ad39a41195da134b194416.tar.gz poi-1b24850c7cd4251a35ad39a41195da134b194416.zip |
Fix bug #45290 - Support odd files where the POIFS header block comes after the data blocks, and is on the data blocks list
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@713447 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/testcases')
-rw-r--r-- | src/testcases/org/apache/poi/hssf/data/45290.xls | bin | 0 -> 23552 bytes | |||
-rw-r--r-- | src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java | 13 | ||||
-rw-r--r-- | src/testcases/org/apache/poi/poifs/storage/TestBlockAllocationTableReader.java | 2 | ||||
-rw-r--r-- | src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java | 2 |
4 files changed, 12 insertions, 5 deletions
diff --git a/src/testcases/org/apache/poi/hssf/data/45290.xls b/src/testcases/org/apache/poi/hssf/data/45290.xls Binary files differnew file mode 100644 index 0000000000..dd064497a0 --- /dev/null +++ b/src/testcases/org/apache/poi/hssf/data/45290.xls diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index 024f94e5b7..402ee797a9 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -27,9 +27,6 @@ import java.util.List; import junit.framework.AssertionFailedError; import junit.framework.TestCase; -import org.apache.poi.ss.util.Region; -import org.apache.poi.ss.util.CellRangeAddress; - import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.model.Workbook; import org.apache.poi.hssf.record.CellValueRecordInterface; @@ -38,6 +35,7 @@ import org.apache.poi.hssf.record.NameRecord; import org.apache.poi.hssf.record.aggregates.FormulaRecordAggregate; import org.apache.poi.hssf.record.formula.DeletedArea3DPtg; import org.apache.poi.hssf.record.formula.Ptg; +import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.util.TempFile; /** @@ -1533,4 +1531,13 @@ public final class TestBugs extends TestCase { assertEquals(7, wb.getNumberOfSheets()); wb = HSSFTestDataSamples.writeOutAndReadBack(wb); } + + /** + * Odd POIFS blocks issue: + * block[ 44 ] already removed from org.apache.poi.poifs.storage.BlockListImpl.remove + */ + public void test45290() { + HSSFWorkbook wb = openSample("45290.xls"); + assertEquals(1, wb.getNumberOfSheets()); + } } diff --git a/src/testcases/org/apache/poi/poifs/storage/TestBlockAllocationTableReader.java b/src/testcases/org/apache/poi/poifs/storage/TestBlockAllocationTableReader.java index a209de6c8d..d688ce1459 100644 --- a/src/testcases/org/apache/poi/poifs/storage/TestBlockAllocationTableReader.java +++ b/src/testcases/org/apache/poi/poifs/storage/TestBlockAllocationTableReader.java @@ -1325,7 +1325,7 @@ public class TestBlockAllocationTableReader try { ListManagedBlock[] dataBlocks = - table.fetchBlocks(start_blocks[ j ], list); + table.fetchBlocks(start_blocks[ j ], -1, list); if (expected_length[ j ] == -1) { diff --git a/src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java b/src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java index 6b8d091a50..194a951a1d 100644 --- a/src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java +++ b/src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java @@ -285,7 +285,7 @@ public class TestBlockListImpl try { ListManagedBlock[] dataBlocks = - list.fetchBlocks(start_blocks[ j ]); + list.fetchBlocks(start_blocks[ j ], -1); if (expected_length[ j ] == -1) { |