Rework test to not catch exception, junit does a good job of handling unexpected exceptions itself, StringBuffer replacing, code duplication
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1724368 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c86a4af85e
commit
8cf781c31b
@ -27,12 +27,7 @@ import java.util.Random;
|
|||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.poi.hpsf.CustomProperties;
|
import org.apache.poi.hpsf.*;
|
||||||
import org.apache.poi.hpsf.DocumentSummaryInformation;
|
|
||||||
import org.apache.poi.hpsf.PropertySet;
|
|
||||||
import org.apache.poi.hpsf.PropertySetFactory;
|
|
||||||
import org.apache.poi.hpsf.SummaryInformation;
|
|
||||||
import org.apache.poi.hpsf.WritingNotSupportedException;
|
|
||||||
import org.apache.poi.poifs.filesystem.DirectoryEntry;
|
import org.apache.poi.poifs.filesystem.DirectoryEntry;
|
||||||
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
||||||
import org.apache.poi.poifs.filesystem.DocumentInputStream;
|
import org.apache.poi.poifs.filesystem.DocumentInputStream;
|
||||||
@ -109,18 +104,10 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
* When finished writing information this method is used in the tests to
|
* When finished writing information this method is used in the tests to
|
||||||
* start reading from the created document and then the see if the results match.
|
* start reading from the created document and then the see if the results match.
|
||||||
*/
|
*/
|
||||||
public void closeAndReOpen() {
|
public void closeAndReOpen() throws IOException, HPSFException {
|
||||||
|
|
||||||
try {
|
dsi.write(dir, DocumentSummaryInformation.DEFAULT_STREAM_NAME);
|
||||||
dsi.write(dir, DocumentSummaryInformation.DEFAULT_STREAM_NAME);
|
si.write(dir, SummaryInformation.DEFAULT_STREAM_NAME);
|
||||||
si.write(dir, SummaryInformation.DEFAULT_STREAM_NAME);
|
|
||||||
} catch (WritingNotSupportedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
fail();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
fail();
|
|
||||||
}
|
|
||||||
|
|
||||||
si = null;
|
si = null;
|
||||||
dsi = null;
|
dsi = null;
|
||||||
@ -134,41 +121,25 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
|
|
||||||
InputStream is = new ByteArrayInputStream(bout.toByteArray());
|
InputStream is = new ByteArrayInputStream(bout.toByteArray());
|
||||||
assertNotNull(is);
|
assertNotNull(is);
|
||||||
POIFSFileSystem poifs = null;
|
POIFSFileSystem poifs = new POIFSFileSystem(is);
|
||||||
try {
|
is.close();
|
||||||
poifs = new POIFSFileSystem(is);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
fail();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
is.close();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
fail();
|
|
||||||
}
|
|
||||||
assertNotNull(poifs);
|
assertNotNull(poifs);
|
||||||
/* Read the document summary information. */
|
/* Read the document summary information. */
|
||||||
DirectoryEntry dir = poifs.getRoot();
|
DirectoryEntry dir = poifs.getRoot();
|
||||||
|
|
||||||
|
DocumentEntry dsiEntry = (DocumentEntry) dir
|
||||||
|
.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME);
|
||||||
|
DocumentInputStream dis = new DocumentInputStream(dsiEntry);
|
||||||
|
PropertySet ps = new PropertySet(dis);
|
||||||
|
dis.close();
|
||||||
|
dsi = new DocumentSummaryInformation(ps);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DocumentEntry dsiEntry = (DocumentEntry) dir
|
dsiEntry = (DocumentEntry) dir
|
||||||
.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME);
|
|
||||||
DocumentInputStream dis = new DocumentInputStream(dsiEntry);
|
|
||||||
PropertySet ps = new PropertySet(dis);
|
|
||||||
dis.close();
|
|
||||||
dsi = new DocumentSummaryInformation(ps);
|
|
||||||
} catch (FileNotFoundException ex) {
|
|
||||||
fail();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
fail();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
DocumentEntry dsiEntry = (DocumentEntry) dir
|
|
||||||
.getEntry(SummaryInformation.DEFAULT_STREAM_NAME);
|
.getEntry(SummaryInformation.DEFAULT_STREAM_NAME);
|
||||||
DocumentInputStream dis = new DocumentInputStream(dsiEntry);
|
dis = new DocumentInputStream(dsiEntry);
|
||||||
PropertySet ps = new PropertySet(dis);
|
ps = new PropertySet(dis);
|
||||||
dis.close();
|
dis.close();
|
||||||
si = new SummaryInformation(ps);
|
si = new SummaryInformation(ps);
|
||||||
|
|
||||||
@ -179,16 +150,13 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
*/
|
*/
|
||||||
si = PropertySetFactory.newSummaryInformation();
|
si = PropertySetFactory.newSummaryInformation();
|
||||||
assertNotNull(si);
|
assertNotNull(si);
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
fail();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the most important information in DocumentSummaryInformation and Summary Information and rereads it
|
* Sets the most important information in DocumentSummaryInformation and Summary Information and rereads it
|
||||||
*/
|
*/
|
||||||
public void testOne() {
|
public void testOne() throws Exception {
|
||||||
|
|
||||||
// DocumentSummaryInformation
|
// DocumentSummaryInformation
|
||||||
dsi.setCompany("xxxCompanyxxx");
|
dsi.setCompany("xxxCompanyxxx");
|
||||||
@ -272,7 +240,7 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
* @return the multiplied String
|
* @return the multiplied String
|
||||||
*/
|
*/
|
||||||
private static String elongate(String s) {
|
private static String elongate(String s) {
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i = 0; i < 10000; i++) {
|
for (int i = 0; i < 10000; i++) {
|
||||||
sb.append(s);
|
sb.append(s);
|
||||||
sb.append(" ");
|
sb.append(" ");
|
||||||
@ -283,7 +251,7 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
/**
|
/**
|
||||||
* Test very long input in each of the fields (approx 30-60KB each)
|
* Test very long input in each of the fields (approx 30-60KB each)
|
||||||
*/
|
*/
|
||||||
public void testTwo() {
|
public void testTwo() throws Exception {
|
||||||
|
|
||||||
String company = elongate("company");
|
String company = elongate("company");
|
||||||
String manager = elongate("manager");
|
String manager = elongate("manager");
|
||||||
@ -371,23 +339,7 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
* @return the multiplied String
|
* @return the multiplied String
|
||||||
*/
|
*/
|
||||||
private static String strangize(String s) {
|
private static String strangize(String s) {
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuilder sb = strangizeInit(s);
|
||||||
String[] umlaute = { "\u00e4", "\u00fc", "\u00f6", "\u00dc", "$", "\u00d6", "\u00dc",
|
|
||||||
"\u00c9", "\u00d6", "@", "\u00e7", "&" };
|
|
||||||
char j = 0;
|
|
||||||
Random rand = new Random(0); // TODO - no Random - tests should be completely deterministic
|
|
||||||
for (int i = 0; i < 5; i++) {
|
|
||||||
sb.append(s);
|
|
||||||
sb.append(" ");
|
|
||||||
j = (char) rand.nextInt(220);
|
|
||||||
j += 33;
|
|
||||||
// System.out.println(j);
|
|
||||||
sb.append(">");
|
|
||||||
sb.append(Character.valueOf(j));
|
|
||||||
sb.append("=");
|
|
||||||
sb.append(umlaute[rand.nextInt(umlaute.length)]);
|
|
||||||
sb.append("<");
|
|
||||||
}
|
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
@ -396,7 +348,7 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
/**
|
/**
|
||||||
* Tests with strange characters in keys and data (Umlaute etc.)
|
* Tests with strange characters in keys and data (Umlaute etc.)
|
||||||
*/
|
*/
|
||||||
public void testThree() {
|
public void testThree() throws Exception {
|
||||||
|
|
||||||
String company = strangize("company");
|
String company = strangize("company");
|
||||||
String manager = strangize("manager");
|
String manager = strangize("manager");
|
||||||
@ -481,7 +433,7 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
/**
|
/**
|
||||||
* Iterative testing: writing, reading etc.
|
* Iterative testing: writing, reading etc.
|
||||||
*/
|
*/
|
||||||
public void testFour() {
|
public void testFour() throws Exception {
|
||||||
for (int i = 1; i < 100; i++) {
|
for (int i = 1; i < 100; i++) {
|
||||||
setUp();
|
setUp();
|
||||||
testThree();
|
testThree();
|
||||||
@ -497,31 +449,35 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
*/
|
*/
|
||||||
private static String strangizeU(String s) {
|
private static String strangizeU(String s) {
|
||||||
|
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuilder sb = strangizeInit(s);
|
||||||
String[] umlaute = { "\u00e4", "\u00fc", "\u00f6", "\u00dc", "$", "\u00d6", "\u00dc",
|
|
||||||
"\u00c9", "\u00d6", "@", "\u00e7", "&" };
|
|
||||||
char j = 0;
|
|
||||||
Random rand = new Random(0); // TODO - no Random - tests should be completely deterministic
|
|
||||||
for (int i = 0; i < 5; i++) {
|
|
||||||
sb.append(s);
|
|
||||||
sb.append(" ");
|
|
||||||
j = (char) rand.nextInt(220);
|
|
||||||
j += 33;
|
|
||||||
// System.out.println(j);
|
|
||||||
sb.append(">");
|
|
||||||
sb.append(Character.valueOf(j));
|
|
||||||
sb.append("=");
|
|
||||||
sb.append(umlaute[rand.nextInt(umlaute.length)]);
|
|
||||||
sb.append("<");
|
|
||||||
}
|
|
||||||
sb.append("\u00e4\u00f6\u00fc\uD840\uDC00");
|
sb.append("\u00e4\u00f6\u00fc\uD840\uDC00");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
private static StringBuilder strangizeInit(String s) {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
String[] umlaute = { "\u00e4", "\u00fc", "\u00f6", "\u00dc", "$", "\u00d6", "\u00dc",
|
||||||
|
"\u00c9", "\u00d6", "@", "\u00e7", "&" };
|
||||||
|
Random rand = new Random(0); // TODO - no Random - tests should be completely deterministic
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
sb.append(s);
|
||||||
|
sb.append(" ");
|
||||||
|
char j = (char) rand.nextInt(220);
|
||||||
|
j += 33;
|
||||||
|
// System.out.println(j);
|
||||||
|
sb.append(">");
|
||||||
|
sb.append(Character.valueOf(j));
|
||||||
|
sb.append("=");
|
||||||
|
sb.append(umlaute[rand.nextInt(umlaute.length)]);
|
||||||
|
sb.append("<");
|
||||||
|
}
|
||||||
|
return sb;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
* Unicode test
|
* Unicode test
|
||||||
*/
|
*/
|
||||||
public void testUnicode() {
|
public void testUnicode() throws Exception {
|
||||||
String company = strangizeU("company");
|
String company = strangizeU("company");
|
||||||
String manager = strangizeU("manager");
|
String manager = strangizeU("manager");
|
||||||
String category = strangizeU("category");
|
String category = strangizeU("category");
|
||||||
@ -606,7 +562,7 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
* Iterative testing of the unicode test
|
* Iterative testing of the unicode test
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void testSix() {
|
public void testSix() throws Exception {
|
||||||
for (int i = 1; i < 100; i++) {
|
for (int i = 1; i < 100; i++) {
|
||||||
setUp();
|
setUp();
|
||||||
testUnicode();
|
testUnicode();
|
||||||
@ -617,7 +573,7 @@ public final class TestMetaDataIPI extends TestCase{
|
|||||||
/**
|
/**
|
||||||
* Tests conversion in custom fields and errors
|
* Tests conversion in custom fields and errors
|
||||||
*/
|
*/
|
||||||
public void testConvAndExistence() {
|
public void testConvAndExistence() throws Exception {
|
||||||
|
|
||||||
CustomProperties customProperties = dsi.getCustomProperties();
|
CustomProperties customProperties = dsi.getCustomProperties();
|
||||||
if (customProperties == null) {
|
if (customProperties == null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user