Exception e = assertThrows((Class<? extends Exception>)exClass, exec, errPrefix + " expected " + exClass);
String actMsg = pathReplace(e.getMessage());
- // verify that message is either null for both or set for both
- assertTrue(actMsg != null || StringUtils.isBlank(exMessage),
- errPrefix + " for " + exClass + " expected message '" + exMessage + "' but had '" + actMsg + "'");
-
- if (actMsg != null) {
- assertTrue(actMsg.contains(exMessage),
- errPrefix + "Message: " + actMsg + " - didn't contain: " + exMessage);
+ // perform special handling of NullPointerException as
+ // JDK started to add more information in some newer JDK, so
+ // it sometimes has a message and sometimes not!
+ if (NullPointerException.class.isAssignableFrom(exClass)) {
+ if (actMsg != null) {
+ assertTrue(actMsg.contains(exMessage), errPrefix + "Message: "+actMsg+" - didn't contain: "+exMessage);
+ }
+ } else {
+ // verify that message is either null for both or set for both
+ assertTrue(actMsg != null || StringUtils.isBlank(exMessage),
+ errPrefix + " for " + exClass + " expected message '" + exMessage + "' but had '" + actMsg + "'");
+
+ if (actMsg != null) {
+ assertTrue(actMsg.contains(exMessage),
+ errPrefix + "Message: " + actMsg + " - didn't contain: " + exMessage);
+ }
}
} else {
assertDoesNotThrow(exec, errPrefix);
import org.apache.poi.poifs.filesystem.DirectoryNode;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.DocumentInputStream;
+import org.apache.poi.poifs.filesystem.Entry;
import org.apache.poi.poifs.filesystem.EntryUtils;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.sl.usermodel.PictureData;
}
// Get the main document stream
- DocumentEntry docProps = (DocumentEntry)dir.getEntry(POWERPOINT_DOCUMENT);
+ final Entry entry = dir.getEntry(POWERPOINT_DOCUMENT);
+ if (!(entry instanceof DocumentEntry)) {
+ throw new IllegalArgumentException("Had unexpected type of entry for name: " + POWERPOINT_DOCUMENT + ": " + entry.getClass());
+ }
+ DocumentEntry docProps = (DocumentEntry) entry;
// Grab the document stream
int len = docProps.getSize();