Methods Summary |
---|
public void | test38256()Bug 38256: RuntimeException: Couldn't instantiate the class for type with id 0.
( also fixed followup: getTextRuns() returns no text )
FileInputStream is = new FileInputStream(new File(cwd, "38256.ppt"));
SlideShow ppt = new SlideShow(is);
is.close();
assertTrue("No Exceptions while reading file", true);
Slide[] slide = ppt.getSlides();
assertEquals(1, slide.length);
TextRun[] runs = slide[0].getTextRuns();
assertEquals(4, runs.length);
HashSet txt = new HashSet();
txt.add("\u201CHAPPY BIRTHDAY SCOTT\u201D");
txt.add("Have a HAPPY DAY");
txt.add("PS Nobody is allowed to hassle Scott TODAY\u2026");
txt.add("Drinks will be in the Boardroom at 5pm today to celebrate Scott\u2019s B\u2019Day\u2026 See you all there!");
for (int i = 0; i < runs.length; i++) {
String text = runs[i].getRawText();
assertTrue(text, txt.contains(text));
}
|
public void | test41381()Bug 41381: Exception from Slide.getMasterSheet() on a seemingly valid PPT file
FileInputStream is = new FileInputStream(new File(cwd, "alterman_security.ppt"));
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
assertTrue("No Exceptions while reading file", true);
assertEquals(1, ppt.getSlidesMasters().length);
assertEquals(1, ppt.getTitleMasters().length);
Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
MasterSheet master = slide[i].getMasterSheet();
if (i == 0) assertTrue(master instanceof TitleMaster); //the first slide follows TitleMaster
else assertTrue(master instanceof SlideMaster);
}
|
public void | test41384()Bug 41384: Array index wrong in record creation
FileInputStream is = new FileInputStream(new File(cwd, "41384.ppt"));
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
assertTrue("No Exceptions while reading file", true);
assertEquals(1, ppt.getSlides().length);
PictureData[] pict = ppt.getPictureData();
assertEquals(2, pict.length);
assertEquals(Picture.JPEG, pict[0].getType());
assertEquals(Picture.JPEG, pict[1].getType());
|
public void | test42474_1()First fix from Bug 42474: NPE in RichTextRun.isBold()
when the RichTextRun comes from a Notes model object
FileInputStream is = new FileInputStream(new File(cwd, "42474-1.ppt"));
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
assertTrue("No Exceptions while reading file", true);
assertEquals(2, ppt.getSlides().length);
TextRun txrun;
Notes notes;
notes = ppt.getSlides()[0].getNotesSheet();
assertNotNull(notes);
txrun = notes.getTextRuns()[0];
assertEquals("Notes-1", txrun.getRawText());
assertEquals(false, txrun.getRichTextRuns()[0].isBold());
//notes for the second slide are in bold
notes = ppt.getSlides()[1].getNotesSheet();
assertNotNull(notes);
txrun = notes.getTextRuns()[0];
assertEquals("Notes-2", txrun.getRawText());
assertEquals(true, txrun.getRichTextRuns()[0].isBold());
|
public void | test42474_2()Second fix from Bug 42474: Incorrect matching of notes to slides
FileInputStream is = new FileInputStream(new File(cwd, "42474-2.ppt"));
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
//map slide number and starting phrase of its notes
HashMap notesMap = new HashMap();
notesMap.put(new Integer(4), "For decades before calculators");
notesMap.put(new Integer(5), "Several commercial applications");
notesMap.put(new Integer(6), "There are three variations of LNS that are discussed here");
notesMap.put(new Integer(7), "Although multiply and square root are easier");
notesMap.put(new Integer(8), "The bus Z is split into Z_H and Z_L");
Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
Integer slideNumber = new Integer(slide[i].getSlideNumber());
Notes notes = slide[i].getNotesSheet();
if (notesMap.containsKey(slideNumber)){
assertNotNull(notes);
String text = notes.getTextRuns()[0].getRawText();
String startingPhrase = (String)notesMap.get(slideNumber);
assertTrue("Notes for slide " + slideNumber + " must start with " +
startingPhrase , text.startsWith(startingPhrase));
}
}
|
public void | test42484()Bug 42484: NullPointerException from ShapeGroup.getAnchor()
FileInputStream is = new FileInputStream(new File(cwd, "42485.ppt")); //test file is the same as for bug 42485
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
Shape[] shape = ppt.getSlides()[0].getShapes();
for (int i = 0; i < shape.length; i++) {
if(shape[i] instanceof ShapeGroup){
ShapeGroup group = (ShapeGroup)shape[i];
assertNotNull(group.getAnchor());
Shape[] sh = group.getShapes();
for (int j = 0; j < sh.length; j++) {
assertNotNull(sh[j].getAnchor());
}
}
}
assertTrue("No Exceptions while reading file", true);
|
public void | test42485()Bug 42485: All TextBoxes inside ShapeGroups have null TextRuns
FileInputStream is = new FileInputStream(new File(cwd, "42485.ppt"));
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
Shape[] shape = ppt.getSlides()[0].getShapes();
for (int i = 0; i < shape.length; i++) {
if(shape[i] instanceof ShapeGroup){
ShapeGroup group = (ShapeGroup)shape[i];
Shape[] sh = group.getShapes();
for (int j = 0; j < sh.length; j++) {
if( sh[j] instanceof TextBox){
TextBox txt = (TextBox)sh[j];
assertNotNull(txt.getTextRun());
}
}
}
}
|
public void | test42486()Bug 42486: Failure parsing a seemingly valid PPT
FileInputStream is = new FileInputStream(new File(cwd, "42486.ppt"));
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
Shape[] shape = slide[i].getShapes();
}
assertTrue("No Exceptions while reading file", true);
|
public void | test42520()Bug 42520: NPE in Picture.getPictureData()
FileInputStream is = new FileInputStream(new File(cwd, "42520.ppt")); //test file is the same as for Bug 42486
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
//test case from the bug report
ShapeGroup shapeGroup = (ShapeGroup)ppt.getSlides()[11].getShapes()[10];
Picture picture = (Picture)shapeGroup.getShapes()[0];
picture.getPictureData();
//walk down the tree and see if there were no errors while reading
Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
Shape[] shape = slide[i].getShapes();
for (int j = 0; j < shape.length; j++) {
if (shape[j] instanceof ShapeGroup){
ShapeGroup group = (ShapeGroup)shape[j];
Shape[] comps = group.getShapes();
for (int k = 0; k < comps.length; k++) {
Shape comp = comps[k];
if (comp instanceof Picture){
PictureData pict = ((Picture)comp).getPictureData();
}
}
}
}
}
assertTrue("No Exceptions while reading file", true);
|
public void | test42524()Bug 42524: NPE in Shape.getShapeType()
FileInputStream is = new FileInputStream(new File(cwd, "42486.ppt")); //test file is the same as for Bug 42486
HSLFSlideShow hslf = new HSLFSlideShow(is);
is.close();
SlideShow ppt = new SlideShow(hslf);
//walk down the tree and see if there were no errors while reading
Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
Shape[] shape = slide[i].getShapes();
for (int j = 0; j < shape.length; j++) {
assertNotNull(shape[j].getShapeName());
if (shape[j] instanceof ShapeGroup){
ShapeGroup group = (ShapeGroup)shape[j];
Shape[] comps = group.getShapes();
for (int k = 0; k < comps.length; k++) {
assertNotNull(comps[k].getShapeName());
}
}
}
}
assertTrue("No Exceptions while reading file", true);
|