Refactor to allow easy testing of multiple files. Will enable a second file when bug #39800 is fixed

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@413913 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2006-06-13 14:58:24 +00:00
parent 6f7e6cba29
commit 053951da78

View File

@ -34,19 +34,33 @@ import org.apache.poi.poifs.filesystem.*;
*/ */
public class TestReWrite extends TestCase { public class TestReWrite extends TestCase {
// HSLFSlideShow primed on the test data // HSLFSlideShow primed on the test data
private HSLFSlideShow hss; private HSLFSlideShow hssA;
private HSLFSlideShow hssB;
// POIFS primed on the test data // POIFS primed on the test data
private POIFSFileSystem pfs; private POIFSFileSystem pfsA;
private POIFSFileSystem pfsB;
public void setUp() throws Exception { public void setUp() throws Exception {
String dirname = System.getProperty("HSLF.testdata.path"); String dirname = System.getProperty("HSLF.testdata.path");
String filename = dirname + "/basic_test_ppt_file.ppt";
FileInputStream fis = new FileInputStream(filename); String filenameA = dirname + "/basic_test_ppt_file.ppt";
pfs = new POIFSFileSystem(fis); FileInputStream fisA = new FileInputStream(filenameA);
hss = new HSLFSlideShow(pfs); pfsA = new POIFSFileSystem(fisA);
hssA = new HSLFSlideShow(pfsA);
String filenameB = dirname + "/ParagraphStylesShorterThanCharStyles.ppt";
FileInputStream fisB = new FileInputStream(filenameB);
pfsB = new POIFSFileSystem(fisB);
hssB = new HSLFSlideShow(pfsB);
} }
public void testWritesOutTheSame() throws Exception { public void testWritesOutTheSame() throws Exception {
assertWritesOutTheSame(hssA, pfsA);
// Disabled until bug #39800 is fixed
//assertWritesOutTheSame(hssB, pfsB);
}
public void assertWritesOutTheSame(HSLFSlideShow hss, POIFSFileSystem pfs) throws Exception {
// Write out to a byte array // Write out to a byte array
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
hss.write(baos); hss.write(baos);
@ -78,8 +92,16 @@ public class TestReWrite extends TestCase {
* doesn't change things * doesn't change things
*/ */
public void testSlideShowWritesOutTheSame() throws Exception { public void testSlideShowWritesOutTheSame() throws Exception {
assertSlideShowWritesOutTheSame(hssA, pfsA);
// Disabled until bug #39800 is fixed
//assertSlideShowWritesOutTheSame(hssB, pfsB);
}
public void assertSlideShowWritesOutTheSame(HSLFSlideShow hss, POIFSFileSystem pfs) throws Exception {
// Create a slideshow covering it // Create a slideshow covering it
SlideShow ss = new SlideShow(hss); SlideShow ss = new SlideShow(hss);
ss.getSlides();
ss.getNotes();
// Now write out to a byte array // Now write out to a byte array
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
@ -102,7 +124,7 @@ public class TestReWrite extends TestCase {
pfs.createDocumentInputStream("PowerPoint Document").read(_oData); pfs.createDocumentInputStream("PowerPoint Document").read(_oData);
npfs.createDocumentInputStream("PowerPoint Document").read(_nData); npfs.createDocumentInputStream("PowerPoint Document").read(_nData);
for(int i=0; i<_oData.length; i++) { for(int i=0; i<_oData.length; i++) {
System.out.println(i + "\t" + Integer.toHexString(i)); //System.out.println(i + "\t" + Integer.toHexString(i));
assertEquals(_oData[i], _nData[i]); assertEquals(_oData[i], _nData[i]);
} }
} }