Bug 61267: detect Word v2 files and report that they are not supported in Apache POI
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1828176 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
35fd4f85aa
commit
2be766f267
@ -302,6 +302,8 @@ public class TestAllFiles {
|
|||||||
"spreadsheet/poc-xmlbomb.xlsx", // contains xml-entity-expansion
|
"spreadsheet/poc-xmlbomb.xlsx", // contains xml-entity-expansion
|
||||||
"spreadsheet/poc-xmlbomb-empty.xlsx", // contains xml-entity-expansion
|
"spreadsheet/poc-xmlbomb-empty.xlsx", // contains xml-entity-expansion
|
||||||
"spreadsheet/poc-shared-strings.xlsx", // contains shared-string-entity-expansion
|
"spreadsheet/poc-shared-strings.xlsx", // contains shared-string-entity-expansion
|
||||||
|
"document/61612a.docx",
|
||||||
|
"document/word2.doc",
|
||||||
|
|
||||||
// old Excel files, which we only support simple text extraction of
|
// old Excel files, which we only support simple text extraction of
|
||||||
"spreadsheet/testEXCEL_2.xls",
|
"spreadsheet/testEXCEL_2.xls",
|
||||||
|
@ -54,7 +54,8 @@ public class HPSFFileHandler extends POIFSFileHandler {
|
|||||||
"spreadsheet/55982.xls",
|
"spreadsheet/55982.xls",
|
||||||
"spreadsheet/testEXCEL_3.xls",
|
"spreadsheet/testEXCEL_3.xls",
|
||||||
"spreadsheet/testEXCEL_4.xls",
|
"spreadsheet/testEXCEL_4.xls",
|
||||||
"hpsf/Test_Humor-Generation.ppt"
|
"hpsf/Test_Humor-Generation.ppt",
|
||||||
|
"document/word2.doc"
|
||||||
);
|
);
|
||||||
|
|
||||||
static final Set<String> EXCLUDES_HANDLE_FILE = unmodifiableHashSet(
|
static final Set<String> EXCLUDES_HANDLE_FILE = unmodifiableHashSet(
|
||||||
|
@ -77,10 +77,11 @@ public enum FileMagic {
|
|||||||
PDF("%PDF"),
|
PDF("%PDF"),
|
||||||
/** Some different HTML documents */
|
/** Some different HTML documents */
|
||||||
HTML("<!DOCTYP".getBytes(UTF_8), "<html".getBytes(UTF_8)),
|
HTML("<!DOCTYP".getBytes(UTF_8), "<html".getBytes(UTF_8)),
|
||||||
|
WORD2(new byte[]{ (byte)0xdb, (byte)0xa5, 0x2d, 0x00}),
|
||||||
// keep UNKNOWN always as last enum!
|
// keep UNKNOWN always as last enum!
|
||||||
/** UNKNOWN magic */
|
/** UNKNOWN magic */
|
||||||
UNKNOWN(new byte[0]);
|
UNKNOWN(new byte[0]);
|
||||||
|
|
||||||
final byte[][] magic;
|
final byte[][] magic;
|
||||||
|
|
||||||
FileMagic(long magic) {
|
FileMagic(long magic) {
|
||||||
|
@ -136,6 +136,9 @@ public final class HeaderBlock implements HeaderBlockConstants {
|
|||||||
case MSWRITE:
|
case MSWRITE:
|
||||||
throw new NotOLE2FileException("The supplied data appears to be in the old MS Write format. "
|
throw new NotOLE2FileException("The supplied data appears to be in the old MS Write format. "
|
||||||
+ "Apache POI doesn't currently support this format");
|
+ "Apache POI doesn't currently support this format");
|
||||||
|
case WORD2:
|
||||||
|
throw new NotOLE2FileException("The supplied data appears to be an old Word version 2 file. "
|
||||||
|
+ "Apache POI doesn't currently support this format");
|
||||||
case BIFF2:
|
case BIFF2:
|
||||||
case BIFF3:
|
case BIFF3:
|
||||||
case BIFF4:
|
case BIFF4:
|
||||||
|
@ -44,7 +44,7 @@ public final class TestHWPFOldDocument extends HWPFTestCase {
|
|||||||
// Can't open as HWPFDocument
|
// Can't open as HWPFDocument
|
||||||
HWPFTestDataSamples.openSampleFile("Word6.doc");
|
HWPFTestDataSamples.openSampleFile("Word6.doc");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWord6hwpfOld() throws IOException {
|
public void testWord6hwpfOld() throws IOException {
|
||||||
// Open
|
// Open
|
||||||
@ -60,8 +60,21 @@ public final class TestHWPFOldDocument extends HWPFTestCase {
|
|||||||
doc.close();
|
doc.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test a simple Word 2 document
|
||||||
|
*/
|
||||||
|
@Test(expected=IllegalArgumentException.class)
|
||||||
|
public void testWord2hwpf() throws IOException {
|
||||||
|
// Can't open as HWPFDocument
|
||||||
|
HWPFTestDataSamples.openSampleFile("word2.doc");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected=RuntimeException.class)
|
||||||
|
public void testWord2hwpfOld() throws IOException {
|
||||||
|
// Open
|
||||||
|
HWPFTestDataSamples.openOldSampleFile("word2.doc");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test a simple Word 95 document
|
* Test a simple Word 95 document
|
||||||
*/
|
*/
|
||||||
|
BIN
test-data/document/word2.doc
Normal file
BIN
test-data/document/word2.doc
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user