mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
[bug-66335] add test case for issue and add some of the code from purported fix
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1905061 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
46ae0a8c60
commit
c4a0266cb3
@ -81,6 +81,20 @@ public final class Types {
|
|||||||
/** A string, from Outlook 3.0 onwards. Normally unicode */
|
/** A string, from Outlook 3.0 onwards. Normally unicode */
|
||||||
public static final MAPIType UNICODE_STRING = new MAPIType(0x001F, "Unicode String", -1);
|
public static final MAPIType UNICODE_STRING = new MAPIType(0x001F, "Unicode String", -1);
|
||||||
|
|
||||||
|
/** MultiValued Properties */
|
||||||
|
public static final MAPIType MV_SHORT = new MAPIType(0x1002, "MV Short", -1);
|
||||||
|
public static final MAPIType MV_LONG = new MAPIType(0x1003, "MV Long", -1);
|
||||||
|
public static final MAPIType MV_FLOAT = new MAPIType(0x1004, "MV Float", -1);
|
||||||
|
public static final MAPIType MV_DOUBLE = new MAPIType(0x1005, "MV Double", -1);
|
||||||
|
public static final MAPIType MV_CURRENCY = new MAPIType(0x1006, "MV Currency", -1);
|
||||||
|
public static final MAPIType MV_APP_TIME = new MAPIType(0x1007, "MV Application Time", -1);
|
||||||
|
public static final MAPIType MV_LONG_LONG = new MAPIType(0x1014, "MV Long Long", -1);
|
||||||
|
public static final MAPIType MV_TIME = new MAPIType(0x1040, "MV Time", -1);
|
||||||
|
public static final MAPIType MV_CLS_ID = new MAPIType(0x1048, "MV CLS ID GUID", -1);
|
||||||
|
public static final MAPIType MV_BINARY = new MAPIType(0x1102, "MV Binary", -1);
|
||||||
|
public static final MAPIType MV_ASCII_STRING = new MAPIType(0x101E, "MV ASCII String", -1);
|
||||||
|
public static final MAPIType MV_UNICODE_STRING = new MAPIType(0x101F, "MV Unicode String", -1);
|
||||||
|
|
||||||
/** MultiValued - Value part contains multiple values */
|
/** MultiValued - Value part contains multiple values */
|
||||||
public static final int MULTIVALUED_FLAG = 0x1000;
|
public static final int MULTIVALUED_FLAG = 0x1000;
|
||||||
|
|
||||||
@ -124,6 +138,14 @@ public final class Types {
|
|||||||
return ((length != -1) && (length <= 8)) || (id == Types.CLS_ID.id);
|
return ((length != -1) && (length <= 8)) || (id == Types.CLS_ID.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return whether the type is a pointer
|
||||||
|
* @since POI 5.2.4
|
||||||
|
*/
|
||||||
|
public boolean isPointer() {
|
||||||
|
return (length == -1) || (length > 8);
|
||||||
|
}
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,19 @@
|
|||||||
|
package org.apache.poi.hsmf;
|
||||||
|
|
||||||
|
import org.apache.poi.POIDataSamples;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
public class TestFileRead {
|
||||||
|
@Test
|
||||||
|
void bug66335() throws IOException {
|
||||||
|
try (MAPIMessage mapiMessage = new MAPIMessage(
|
||||||
|
POIDataSamples.getHSMFInstance().getFile("bug66335.msg"))) {
|
||||||
|
// 25 is not the right number of properties but it is what the existing code finds
|
||||||
|
assertEquals(25, mapiMessage.getMainChunks().getProperties().size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
test-data/hsmf/bug66335.msg
Normal file
BIN
test-data/hsmf/bug66335.msg
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user