Fix HPBF generics warnings, and add a NPOIFS check to the HPBF tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1085495 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
eb812a0e8c
commit
e43a1777ed
@ -41,7 +41,7 @@ public abstract class EscherPart extends HPBFPart {
|
|||||||
DefaultEscherRecordFactory erf =
|
DefaultEscherRecordFactory erf =
|
||||||
new DefaultEscherRecordFactory();
|
new DefaultEscherRecordFactory();
|
||||||
|
|
||||||
ArrayList ec = new ArrayList();
|
ArrayList<EscherRecord> ec = new ArrayList<EscherRecord>();
|
||||||
int left = data.length;
|
int left = data.length;
|
||||||
while(left > 0) {
|
while(left > 0) {
|
||||||
EscherRecord er = erf.createRecord(data, 0);
|
EscherRecord er = erf.createRecord(data, 0);
|
||||||
@ -51,8 +51,7 @@ public abstract class EscherPart extends HPBFPart {
|
|||||||
ec.add(er);
|
ec.add(er);
|
||||||
}
|
}
|
||||||
|
|
||||||
records = (EscherRecord[])
|
records = ec.toArray(new EscherRecord[ec.size()]);
|
||||||
ec.toArray(new EscherRecord[ec.size()]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EscherRecord[] getEscherRecords() {
|
public EscherRecord[] getEscherRecords() {
|
||||||
|
@ -18,15 +18,51 @@
|
|||||||
package org.apache.poi.hpbf.extractor;
|
package org.apache.poi.hpbf.extractor;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.poi.POIDataSamples;
|
import org.apache.poi.POIDataSamples;
|
||||||
import org.apache.poi.hpbf.HPBFDocument;
|
import org.apache.poi.hpbf.HPBFDocument;
|
||||||
|
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
|
||||||
|
|
||||||
public final class TestPublisherTextExtractor extends TestCase {
|
public final class TestPublisherTextExtractor extends TestCase {
|
||||||
private static final POIDataSamples _samples = POIDataSamples.getPublisherInstance();
|
private static final POIDataSamples _samples = POIDataSamples.getPublisherInstance();
|
||||||
|
|
||||||
|
private static final String SAMPLE_TEXT =
|
||||||
|
"This is some text on the first page\n" +
|
||||||
|
"It\u2019s in times new roman, font size 10, all normal\n" +
|
||||||
|
"" +
|
||||||
|
"This is in bold and italic\n" +
|
||||||
|
"It\u2019s Arial, 20 point font\n" +
|
||||||
|
"It\u2019s in the second textbox on the first page\n" +
|
||||||
|
"" +
|
||||||
|
"This is the second page\n\n" +
|
||||||
|
"" +
|
||||||
|
"It is also times new roman, 10 point\n" +
|
||||||
|
"" +
|
||||||
|
"Table on page 2\nTop right\n" +
|
||||||
|
"P2 table left\nP2 table right\n" +
|
||||||
|
"Bottom Left\nBottom Right\n" +
|
||||||
|
"" +
|
||||||
|
"This text is on page two\n" +
|
||||||
|
"#This is a link to Apache POI\n" +
|
||||||
|
"More normal text\n" +
|
||||||
|
"Link to a file\n" +
|
||||||
|
"" +
|
||||||
|
"More text, more hyperlinks\n" +
|
||||||
|
"email link\n" +
|
||||||
|
"Final hyperlink\n" +
|
||||||
|
"Within doc to page 1\n";
|
||||||
|
private static final String SIMPLE_TEXT =
|
||||||
|
"0123456789\n" +
|
||||||
|
"0123456789abcdef\n" +
|
||||||
|
"0123456789abcdef0123456789abcdef\n" +
|
||||||
|
"0123456789\n" +
|
||||||
|
"0123456789abcdef\n" +
|
||||||
|
"0123456789abcdef0123456789abcdef\n" +
|
||||||
|
"0123456789abcdef0123456789abcdef0123456789abcdef\n";
|
||||||
|
|
||||||
public void testBasics() throws Exception {
|
public void testBasics() throws Exception {
|
||||||
HPBFDocument doc = new HPBFDocument(
|
HPBFDocument doc = new HPBFDocument(
|
||||||
_samples.openResourceAsStream("Sample.pub")
|
_samples.openResourceAsStream("Sample.pub")
|
||||||
@ -43,57 +79,30 @@ public final class TestPublisherTextExtractor extends TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testContents() throws Exception {
|
public void testContents() throws Exception {
|
||||||
HPBFDocument doc = new HPBFDocument(
|
PublisherTextExtractor ext;
|
||||||
_samples.openResourceAsStream("Sample.pub")
|
File sample = _samples.getFile("Sample.pub");
|
||||||
|
File simple = _samples.getFile("Simple.pub");
|
||||||
|
|
||||||
|
// Check this complicated file using POIFS
|
||||||
|
HPBFDocument docOPOIFS = new HPBFDocument(
|
||||||
|
new FileInputStream(sample)
|
||||||
);
|
);
|
||||||
|
ext = new PublisherTextExtractor(docOPOIFS);
|
||||||
|
assertEquals( SAMPLE_TEXT, ext.getText() );
|
||||||
|
|
||||||
PublisherTextExtractor ext =
|
// And with NPOIFS
|
||||||
new PublisherTextExtractor(doc);
|
HPBFDocument docNPOIFS = new HPBFDocument(
|
||||||
String text = ext.getText();
|
new NPOIFSFileSystem(sample)
|
||||||
|
);
|
||||||
|
ext = new PublisherTextExtractor(docNPOIFS);
|
||||||
|
assertEquals( SAMPLE_TEXT, ext.getText() );
|
||||||
|
|
||||||
assertEquals(
|
|
||||||
"This is some text on the first page\n" +
|
|
||||||
"It\u2019s in times new roman, font size 10, all normal\n" +
|
|
||||||
"" +
|
|
||||||
"This is in bold and italic\n" +
|
|
||||||
"It\u2019s Arial, 20 point font\n" +
|
|
||||||
"It\u2019s in the second textbox on the first page\n" +
|
|
||||||
"" +
|
|
||||||
"This is the second page\n\n" +
|
|
||||||
"" +
|
|
||||||
"It is also times new roman, 10 point\n" +
|
|
||||||
"" +
|
|
||||||
"Table on page 2\nTop right\n" +
|
|
||||||
"P2 table left\nP2 table right\n" +
|
|
||||||
"Bottom Left\nBottom Right\n" +
|
|
||||||
"" +
|
|
||||||
"This text is on page two\n" +
|
|
||||||
"#This is a link to Apache POI\n" +
|
|
||||||
"More normal text\n" +
|
|
||||||
"Link to a file\n" +
|
|
||||||
"" +
|
|
||||||
"More text, more hyperlinks\n" +
|
|
||||||
"email link\n" +
|
|
||||||
"Final hyperlink\n" +
|
|
||||||
"Within doc to page 1\n"
|
|
||||||
, text
|
|
||||||
);
|
|
||||||
|
|
||||||
// Now a simpler one
|
// Now a simpler file
|
||||||
ext = new PublisherTextExtractor(
|
ext = new PublisherTextExtractor(
|
||||||
_samples.openResourceAsStream("Simple.pub")
|
new FileInputStream(simple)
|
||||||
);
|
|
||||||
text = ext.getText();
|
|
||||||
assertEquals(
|
|
||||||
"0123456789\n" +
|
|
||||||
"0123456789abcdef\n" +
|
|
||||||
"0123456789abcdef0123456789abcdef\n" +
|
|
||||||
"0123456789\n" +
|
|
||||||
"0123456789abcdef\n" +
|
|
||||||
"0123456789abcdef0123456789abcdef\n" +
|
|
||||||
"0123456789abcdef0123456789abcdef0123456789abcdef\n"
|
|
||||||
, text
|
|
||||||
);
|
);
|
||||||
|
assertEquals( SIMPLE_TEXT, ext.getText() );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user