You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2016/09/04 14:25:34 UTC
[5/9] ant git commit: some additional redirect-extension tests
some additional redirect-extension tests
https://bz.apache.org/bugzilla/show_bug.cgi?id=60060
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/9b6f9269
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/9b6f9269
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/9b6f9269
Branch: refs/heads/master
Commit: 9b6f92697ff0c474da0d27d10321a3c5131c1098
Parents: e345ccf
Author: Stefan Bodewig <bo...@apache.org>
Authored: Sun Sep 4 12:23:17 2016 +0200
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Sun Sep 4 12:23:17 2016 +0200
----------------------------------------------------------------------
.../ant/taskdefs/optional/TraXLiaisonTest.java | 33 +++++++++++++-
.../optional/junit/JUnitReportTest.java | 47 ++++++++++++++++++++
2 files changed, 79 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/9b6f9269/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
index 52605b4..d4ff72a 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
@@ -24,6 +24,8 @@ import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
import java.security.Permission;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactoryConfigurationError;
import junit.framework.AssertionFailedError;
@@ -57,7 +59,7 @@ public class TraXLiaisonTest extends AbstractXSLTLiaisonTest
}
@Test
- public void testXalan2Redirect() throws Exception {
+ public void testXalan2RedirectViaJDKFactory() throws Exception {
try {
getClass().getClassLoader().loadClass("org.apache.xalan.lib.Redirect");
} catch (Exception exc) {
@@ -91,6 +93,35 @@ public class TraXLiaisonTest extends AbstractXSLTLiaisonTest
}
@Test
+ public void testXalan2RedirectViaXalan() throws Exception {
+ try {
+ getClass().getClassLoader().loadClass("org.apache.xalan.lib.Redirect");
+ } catch (Exception exc) {
+ Assume.assumeNoException("xalan redirect is not on the classpath", exc);
+ }
+ try {
+ String factoryName = TransformerFactory.newInstance().getClass().getName();
+ Assume.assumeTrue("TraxFactory is " + factoryName + " and not Xalan",
+ "org.apache.xalan.processor.TransformerFactoryImpl"
+ .equals(factoryName));
+ } catch (TransformerFactoryConfigurationError exc) {
+ throw new RuntimeException(exc);
+ }
+ File xsl = getFile("/taskdefs/optional/xalan-redirect-in.xsl");
+ liaison.setStylesheet(xsl);
+ File out = new File("xalan2-redirect-out-dummy.tmp");
+ File in = getFile("/taskdefs/optional/xsltliaison-in.xsl");
+ try {
+ liaison.addParam("xalan-version", "2");
+ System.setSecurityManager(new SecurityManager() {public void checkPermission(Permission perm) {}});
+ liaison.transform(in, out);
+ } finally {
+ out.delete();
+ System.setSecurityManager(null);
+ }
+ }
+
+ @Test
public void testMultipleTransform() throws Exception {
File xsl = getFile("/taskdefs/optional/xsltliaison-in.xsl");
liaison.setStylesheet(xsl);
http://git-wip-us.apache.org/repos/asf/ant/blob/9b6f9269/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java
index 8737a94..a7ebbc6 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java
@@ -23,14 +23,19 @@ import static org.junit.Assert.assertTrue;
import static org.apache.tools.ant.AntAssert.assertContains;
import static org.junit.Assert.fail;
+import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileReader;
import java.io.InputStream;
import java.io.IOException;
import java.net.URL;
+import java.security.Permission;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactoryConfigurationError;
import org.apache.tools.ant.BuildFileRule;
import org.apache.tools.ant.util.FileUtils;
+import org.junit.Assume;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -177,4 +182,46 @@ public class JUnitReportTest {
assertContains("key1=value1,key2=value2", buildRule.getLog());
commonIndexFileAssertions();
}
+
+ @Test
+ public void testWithSecurityManagerAndXalanFactory() throws Exception {
+ try {
+ String factoryName = TransformerFactory.newInstance().getClass().getName();
+ Assume.assumeTrue("TraxFactory is " + factoryName + " and not Xalan",
+ "org.apache.xalan.processor.TransformerFactoryImpl"
+ .equals(factoryName));
+ } catch (TransformerFactoryConfigurationError exc) {
+ throw new RuntimeException(exc);
+ }
+ try {
+ System.setSecurityManager(new SecurityManager() {public void checkPermission(Permission perm) {}});
+ buildRule.executeTarget("testWithStyleFromClasspath");
+ commonIndexFileAssertions();
+ } finally {
+ System.setSecurityManager(null);
+ }
+ }
+
+ @Test
+ public void testWithSecurityManagerAndJDKFactory() throws Exception {
+ ClassLoader orig = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(new ClassLoader(ClassLoader.getSystemClassLoader().getParent()) {
+ public InputStream getResourceAsStream(String name) {
+ if (name.startsWith("META-INF/services/")) {
+ // work around JAXP #6723276 in JDK 6
+ return new ByteArrayInputStream(new byte[0]);
+ }
+ return super.getResourceAsStream(name);
+ }
+ });
+ System.setSecurityManager(new SecurityManager() {public void checkPermission(Permission perm) {}});
+ buildRule.executeTarget("testWithStyleFromClasspath");
+ commonIndexFileAssertions();
+ } finally {
+ System.setSecurityManager(null);
+ Thread.currentThread().setContextClassLoader(orig);
+ }
+ }
+
}