aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
diff options
context:
space:
mode:
authorAshlee Young <ashlee@onosfw.com>2015-10-23 10:00:02 -0700
committerAshlee Young <ashlee@onosfw.com>2015-10-23 10:00:02 -0700
commit753a6c60f47f3ac4f270005b65e9d6481de8eb68 (patch)
tree3d0a1ae3b4d994550f6614b417b991eee3eb8911 /framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
parentc62d20eb3b4620c06d833be06f50b2600d96dd42 (diff)
Adding maven and ant source trees
Change-Id: I0a39b9add833a31b9c3f98d193983ae2f3a5a445 Signed-off-by: Ashlee Young <ashlee@onosfw.com>
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java129
1 files changed, 129 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
new file mode 100644
index 00000000..02281eb6
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
@@ -0,0 +1,129 @@
+package org.apache.tools.ant.taskdefs.optional;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.security.Permission;
+
+import junit.framework.AssertionFailedError;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.taskdefs.XSLTLiaison;
+import org.apache.tools.ant.taskdefs.XSLTLogger;
+import org.apache.tools.ant.util.JAXPUtils;
+import org.junit.After;
+import org.junit.Assume;
+import org.junit.Test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+/**
+ * TraX XSLTLiaison testcase
+ */
+public class TraXLiaisonTest extends AbstractXSLTLiaisonTest
+ implements XSLTLogger {
+
+
+ @After
+ public void tearDown() {
+ File f = new File("xalan2-redirect-out.tmp");
+ if (f.exists()) {
+ f.delete();
+ }
+ }
+
+ public XSLTLiaison createLiaison() throws Exception {
+ TraXLiaison l = new TraXLiaison();
+ l.setLogger(this);
+ return l;
+ }
+
+ @Test
+ public void testXalan2Redirect() throws Exception {
+ try {
+ getClass().getClassLoader().loadClass("org.apache.xalan.lib.Redirect");
+ } catch (Exception exc) {
+ Assume.assumeNoException("xalan redirect is not on the classpath", 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");
+ ClassLoader orig = Thread.currentThread().getContextClassLoader();
+ try {
+ liaison.addParam("xalan-version", "2");
+ // Use the JRE's Xerces, not lib/optional/xerces.jar:
+ 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);
+ }
+ });
+ // Tickle #52382:
+ System.setSecurityManager(new SecurityManager() {public void checkPermission(Permission perm) {}});
+ liaison.transform(in, out);
+ } finally {
+ out.delete();
+ Thread.currentThread().setContextClassLoader(orig);
+ System.setSecurityManager(null);
+ }
+ }
+
+ @Test
+ public void testMultipleTransform() throws Exception {
+ File xsl = getFile("/taskdefs/optional/xsltliaison-in.xsl");
+ liaison.setStylesheet(xsl);
+ liaison.addParam("param", "value");
+ File in = getFile("/taskdefs/optional/xsltliaison-in.xml");
+ // test for 10 consecutives transform
+ for (int i = 0; i < 50; i++){
+ File out = new File("xsltliaison" + i + ".tmp");
+ try {
+ liaison.transform(in, out);
+ } catch (Exception e){
+ throw new BuildException("failed in transform " + i, e);
+ } finally {
+ out.delete();
+ }
+ }
+ }
+
+ @Test
+ public void testSystemId(){
+ File file = null;
+ if ( File.separatorChar == '\\' ){
+ file = new File("d:\\jdk");
+ } else {
+ file = new File("/user/local/bin");
+ }
+ String systemid = JAXPUtils.getSystemId(file);
+ assertTrue("SystemIDs should start by file:/", systemid.startsWith("file:/"));
+ assertTrue("SystemIDs should not start with file:////", !systemid.startsWith("file:////"));
+ }
+
+ public void log(String message) {
+ throw new AssertionFailedError("Liaison sent message: "+message);
+ }
+
+}