* Make more tests work in OOXMLLite compilation by adding xml security classpath and ensuring proper cleanup in some Extractor tests
* Remove downloading xerces library here, we now do this in the special Jenkins job and thus can get rid of it here git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1633166 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
02a4dc5462
commit
7664c7efa7
11
build.xml
11
build.xml
@ -172,10 +172,6 @@ under the License.
|
|||||||
<property name="asm.jar" location="${main.lib}/asm-all-5.0.3.jar"/>
|
<property name="asm.jar" location="${main.lib}/asm-all-5.0.3.jar"/>
|
||||||
<property name="asm.url" value="${repository.m2}/maven2/org/ow2/asm/asm-all/5.0.3/asm-all-5.0.3.jar"/>
|
<property name="asm.url" value="${repository.m2}/maven2/org/ow2/asm/asm-all/5.0.3/asm-all-5.0.3.jar"/>
|
||||||
|
|
||||||
<!-- for testing with older Xerces implementation -->
|
|
||||||
<property name="xerces.jar" location="${main.lib}/xercesImpl-2.6.1.jar"/>
|
|
||||||
<property name="xerces.url" value="${repository.m2}/maven2/xerces/xercesImpl/2.6.1//xercesImpl-2.6.1.jar"/>
|
|
||||||
|
|
||||||
<!-- license checks -->
|
<!-- license checks -->
|
||||||
<property name="rat.jar" location="${main.lib}/apache-rat-0.11.jar"/>
|
<property name="rat.jar" location="${main.lib}/apache-rat-0.11.jar"/>
|
||||||
<property name="rat.url" value="${repository.m2}/maven2/org/apache/rat/apache-rat/0.11/apache-rat-0.11.jar"/>
|
<property name="rat.url" value="${repository.m2}/maven2/org/apache/rat/apache-rat/0.11/apache-rat-0.11.jar"/>
|
||||||
@ -394,6 +390,7 @@ under the License.
|
|||||||
<include name="org.jacoco.*-0.6.*"/>
|
<include name="org.jacoco.*-0.6.*"/>
|
||||||
<include name="dom4j*"/>
|
<include name="dom4j*"/>
|
||||||
<include name="apache-rat-0.10*"/>
|
<include name="apache-rat-0.10*"/>
|
||||||
|
<include name="xercesImpl-*.jar"/>
|
||||||
</fileset>
|
</fileset>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
@ -410,7 +407,6 @@ under the License.
|
|||||||
<available file="${asm.jar}"/>
|
<available file="${asm.jar}"/>
|
||||||
<available file="${jacoco.zip}"/>
|
<available file="${jacoco.zip}"/>
|
||||||
<available file="${rat.jar}"/>
|
<available file="${rat.jar}"/>
|
||||||
<available file="${xerces.jar}"/>
|
|
||||||
<available file="${dsig.bouncycastle-prov.jar}"/>
|
<available file="${dsig.bouncycastle-prov.jar}"/>
|
||||||
<available file="${dsig.bouncycastle-pkix.jar}"/>
|
<available file="${dsig.bouncycastle-pkix.jar}"/>
|
||||||
<available file="${dsig.xmlsec.jar}"/>
|
<available file="${dsig.xmlsec.jar}"/>
|
||||||
@ -465,10 +461,6 @@ under the License.
|
|||||||
<include name="lib/*.jar"/>
|
<include name="lib/*.jar"/>
|
||||||
</patternset>
|
</patternset>
|
||||||
</unzip>
|
</unzip>
|
||||||
<antcall target="downloadfile">
|
|
||||||
<param name="sourcefile" value="${xerces.url}"/>
|
|
||||||
<param name="destfile" value="${xerces.jar}"/>
|
|
||||||
</antcall>
|
|
||||||
<antcall target="downloadfile">
|
<antcall target="downloadfile">
|
||||||
<param name="sourcefile" value="${rat.url}"/>
|
<param name="sourcefile" value="${rat.url}"/>
|
||||||
<param name="destfile" value="${rat.jar}"/>
|
<param name="destfile" value="${rat.jar}"/>
|
||||||
@ -1047,6 +1039,7 @@ under the License.
|
|||||||
<pathelement path="${ooxml.lite-merged.dir}/ooxml-lite-merged.jar"/>
|
<pathelement path="${ooxml.lite-merged.dir}/ooxml-lite-merged.jar"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
<classpath refid="test.ooxml.classpath"/>
|
<classpath refid="test.ooxml.classpath"/>
|
||||||
|
<classpath refid="ooxml.xmlsec.classpath"/>
|
||||||
<syspropertyset refid="junit.properties"/>
|
<syspropertyset refid="junit.properties"/>
|
||||||
<jvmarg value="${poi.test.locale}"/>
|
<jvmarg value="${poi.test.locale}"/>
|
||||||
<arg value="-ooxml"/>
|
<arg value="-ooxml"/>
|
||||||
|
@ -20,13 +20,13 @@ package org.apache.poi.xssf.extractor;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.poi.POITextExtractor;
|
import org.apache.poi.POITextExtractor;
|
||||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||||
import org.apache.poi.hssf.extractor.ExcelExtractor;
|
import org.apache.poi.hssf.extractor.ExcelExtractor;
|
||||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link XSSFEventBasedExcelExtractor}
|
* Tests for {@link XSSFEventBasedExcelExtractor}
|
||||||
*/
|
*/
|
||||||
@ -155,7 +155,8 @@ public class TestXSSFEventBasedExcelExtractor extends TestCase {
|
|||||||
POITextExtractor[] extractors =
|
POITextExtractor[] extractors =
|
||||||
new POITextExtractor[] { ooxmlExtractor, ole2Extractor };
|
new POITextExtractor[] { ooxmlExtractor, ole2Extractor };
|
||||||
for (int i = 0; i < extractors.length; i++) {
|
for (int i = 0; i < extractors.length; i++) {
|
||||||
POITextExtractor extractor = extractors[i];
|
@SuppressWarnings("resource")
|
||||||
|
POITextExtractor extractor = extractors[i];
|
||||||
|
|
||||||
String text = extractor.getText().replaceAll("[\r\t]", "");
|
String text = extractor.getText().replaceAll("[\r\t]", "");
|
||||||
assertTrue(text.startsWith("First Sheet\nTest spreadsheet\n2nd row2nd row 2nd column\n"));
|
assertTrue(text.startsWith("First Sheet\nTest spreadsheet\n2nd row2nd row 2nd column\n"));
|
||||||
@ -175,12 +176,15 @@ public class TestXSSFEventBasedExcelExtractor extends TestCase {
|
|||||||
public void testShapes() throws Exception{
|
public void testShapes() throws Exception{
|
||||||
XSSFEventBasedExcelExtractor ooxmlExtractor = getExtractor("WithTextBox.xlsx");
|
XSSFEventBasedExcelExtractor ooxmlExtractor = getExtractor("WithTextBox.xlsx");
|
||||||
|
|
||||||
String text = ooxmlExtractor.getText();
|
try {
|
||||||
|
String text = ooxmlExtractor.getText();
|
||||||
assertTrue(text.indexOf("Line 1") > -1);
|
|
||||||
assertTrue(text.indexOf("Line 2") > -1);
|
assertTrue(text.indexOf("Line 1") > -1);
|
||||||
assertTrue(text.indexOf("Line 3") > -1);
|
assertTrue(text.indexOf("Line 2") > -1);
|
||||||
|
assertTrue(text.indexOf("Line 3") > -1);
|
||||||
|
} finally {
|
||||||
|
ooxmlExtractor.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -229,16 +233,24 @@ public class TestXSSFEventBasedExcelExtractor extends TestCase {
|
|||||||
|
|
||||||
XSSFExcelExtractor extractor = new XSSFExcelExtractor(
|
XSSFExcelExtractor extractor = new XSSFExcelExtractor(
|
||||||
XSSFTestDataSamples.openSampleWorkbook("headerFooterTest.xlsx"));
|
XSSFTestDataSamples.openSampleWorkbook("headerFooterTest.xlsx"));
|
||||||
assertEquals(expectedOutputWithHeadersAndFooters, extractor.getText());
|
try {
|
||||||
extractor.setIncludeHeadersFooters(false);
|
assertEquals(expectedOutputWithHeadersAndFooters, extractor.getText());
|
||||||
assertEquals(expectedOutputWithoutHeadersAndFooters, extractor.getText());
|
extractor.setIncludeHeadersFooters(false);
|
||||||
|
assertEquals(expectedOutputWithoutHeadersAndFooters, extractor.getText());
|
||||||
|
} finally {
|
||||||
|
extractor.close();
|
||||||
|
}
|
||||||
|
|
||||||
XSSFEventBasedExcelExtractor fixture =
|
XSSFEventBasedExcelExtractor fixture =
|
||||||
new XSSFEventBasedExcelExtractor(
|
new XSSFEventBasedExcelExtractor(
|
||||||
XSSFTestDataSamples.openSamplePackage("headerFooterTest.xlsx"));
|
XSSFTestDataSamples.openSamplePackage("headerFooterTest.xlsx"));
|
||||||
assertEquals(expectedOutputWithHeadersAndFooters, fixture.getText());
|
try {
|
||||||
fixture.setIncludeHeadersFooters(false);
|
assertEquals(expectedOutputWithHeadersAndFooters, fixture.getText());
|
||||||
assertEquals(expectedOutputWithoutHeadersAndFooters, fixture.getText());
|
fixture.setIncludeHeadersFooters(false);
|
||||||
|
assertEquals(expectedOutputWithoutHeadersAndFooters, fixture.getText());
|
||||||
|
} finally {
|
||||||
|
fixture.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,4 +26,10 @@ public class TestXSSFEventBasedExcelExtractorUsingFactory extends TestXSSFEventB
|
|||||||
ExtractorFactory.setAllThreadsPreferEventExtractors(true);
|
ExtractorFactory.setAllThreadsPreferEventExtractors(true);
|
||||||
return (XSSFEventBasedExcelExtractor) ExtractorFactory.createExtractor(HSSFTestDataSamples.openSampleFileStream(sampleName));
|
return (XSSFEventBasedExcelExtractor) ExtractorFactory.createExtractor(HSSFTestDataSamples.openSampleFileStream(sampleName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tearDown() {
|
||||||
|
// reset setting to not affect other tests
|
||||||
|
ExtractorFactory.setAllThreadsPreferEventExtractors(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,8 @@ public class TestXSSFExcelExtractor extends TestCase {
|
|||||||
POITextExtractor[] extractors =
|
POITextExtractor[] extractors =
|
||||||
new POITextExtractor[] { ooxmlExtractor, ole2Extractor };
|
new POITextExtractor[] { ooxmlExtractor, ole2Extractor };
|
||||||
for (int i = 0; i < extractors.length; i++) {
|
for (int i = 0; i < extractors.length; i++) {
|
||||||
POITextExtractor extractor = extractors[i];
|
@SuppressWarnings("resource")
|
||||||
|
POITextExtractor extractor = extractors[i];
|
||||||
|
|
||||||
String text = extractor.getText().replaceAll("[\r\t]", "");
|
String text = extractor.getText().replaceAll("[\r\t]", "");
|
||||||
assertTrue(text.startsWith("First Sheet\nTest spreadsheet\n2nd row2nd row 2nd column\n"));
|
assertTrue(text.startsWith("First Sheet\nTest spreadsheet\n2nd row2nd row 2nd column\n"));
|
||||||
@ -217,10 +218,14 @@ public class TestXSSFExcelExtractor extends TestCase {
|
|||||||
*/
|
*/
|
||||||
public void testTextBoxes() throws IOException {
|
public void testTextBoxes() throws IOException {
|
||||||
XSSFExcelExtractor extractor = getExtractor("WithTextBox.xlsx");
|
XSSFExcelExtractor extractor = getExtractor("WithTextBox.xlsx");
|
||||||
extractor.setFormulasNotResults(true);
|
try {
|
||||||
String text = extractor.getText();
|
extractor.setFormulasNotResults(true);
|
||||||
assertTrue(text.indexOf("Line 1") > -1);
|
String text = extractor.getText();
|
||||||
assertTrue(text.indexOf("Line 2") > -1);
|
assertTrue(text.indexOf("Line 1") > -1);
|
||||||
assertTrue(text.indexOf("Line 3") > -1);
|
assertTrue(text.indexOf("Line 2") > -1);
|
||||||
|
assertTrue(text.indexOf("Line 3") > -1);
|
||||||
|
} finally {
|
||||||
|
extractor.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,4 +34,10 @@ public final class TestXSSFExcelExtractorUsingFactory extends TestXSSFExcelExtra
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tearDown() {
|
||||||
|
// reset setting to not affect other tests
|
||||||
|
ExtractorFactory.setAllThreadsPreferEventExtractors(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user