diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java deleted file mode 100644 index 0c3c24fd..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java +++ /dev/null @@ -1,180 +0,0 @@ -/* - * 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. - * - */ -package org.apache.tools.ant.launch; - -import java.io.File; - -import org.apache.tools.ant.taskdefs.condition.Os; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -import static junit.framework.Assert.assertEquals; -import static org.apache.tools.ant.AntAssert.assertContains; -import static org.junit.Assert.fail; - -/** Test the locator in the ant-launch JAR */ -public class LocatorTest { - private boolean windows; - private boolean unix; - private static final String LAUNCHER_JAR = "//morzine/slo/Java/Apache/ant/lib/ant-launcher.jar"; - private static final String SHARED_JAR_URI = "jar:file:"+ LAUNCHER_JAR +"!/org/apache/tools/ant/launch/Launcher.class"; - - - @Before - public void setUp() throws Exception { - windows = Os.isFamily(Os.FAMILY_DOS); - unix = Os.isFamily(Os.FAMILY_UNIX); - } - - /** - * expect a uri to resolve to strings on different platforms - * @param uri uri to parse - * @param expectedUnix unix string (or null to skip that test) - * @param expectedDos DOS string (or null to skip that test) - * @return the resolved string - */ - private String resolveTo(String uri, String expectedUnix, String expectedDos) { - String result = Locator.fromURI(uri); - assertResolved(uri, expectedUnix, result, unix); - assertResolved(uri, expectedDos, result, windows); - return result; - } - - /** - * Assert something resolved - * @param uri original URI - * @param expectedResult what we expected - * @param result what we got - * @param enabled is the test enabled? - */ - private void assertResolved(String uri, String expectedResult, String result, boolean enabled) { - if (enabled && expectedResult != null && expectedResult.length() > 0) { - assertEquals("Expected " + uri + " to resolve to \n" + expectedResult + "\n but got\n" - + result + "\n", expectedResult, result); - } - } - - /** - * This asserts that we can round trip the path to a URI and back again - * @param path filename with no directory separators - * @return the trailing filename - */ - private String assertResolves(String path) { - String asuri = new File(path).toURI().toASCIIString(); - String fullpath = System.getProperty("user.dir") + File.separator + path; - String result = resolveTo(asuri, fullpath, fullpath); - return result.substring(result.lastIndexOf(File.separatorChar) + 1); - } - - - /** - * this isnt really a valid URI, except maybe in IE - * @throws Exception - */ - public void testNetworkURI() throws Exception { - resolveTo("file:\\\\PC03\\jclasses\\lib\\ant-1.7.0.jar", "" - + "\\\\PC03\\jclasses\\lib\\ant-1.7.0.jar", - "\\\\PC03\\jclasses\\lib\\ant-1.7.0.jar"); - } - - @Ignore("We don't appear to generate paths like this in the launcher") - @Test - public void testTripleForwardSlashNetworkURI() throws Exception { - resolveTo("file:///PC03/jclasses/lib/ant-1.7.0.jar", - "///PC03/jclasses/lib/ant-1.7.0.jar", - "\\\\PC03\\jclasses\\lib\\ant-1.7.0.jar"); - } - - @Test - public void testUnixNetworkPath() throws Exception { - resolveTo("file://cluster/home/ant/lib", - "//cluster/home/ant/lib", - "\\\\cluster\\home\\ant\\lib"); - } - - @Test - public void testUnixPath() throws Exception { - resolveTo("file:/home/ant/lib", "/home/ant/lib", null); - } - - @Test - public void testSpacedURI() throws Exception { - resolveTo("file:C:\\Program Files\\Ant\\lib", - "C:\\Program Files\\Ant\\lib", - "C:\\Program Files\\Ant\\lib"); - } - - /** - * Bug 42275; Ant failing to run off a remote share - * @throws Throwable if desired - */ - @Test - public void testAntOnRemoteShare() throws Throwable { - String resolved=Locator.fromJarURI(SHARED_JAR_URI); - assertResolved(SHARED_JAR_URI, LAUNCHER_JAR, resolved, unix); - assertResolved(SHARED_JAR_URI, LAUNCHER_JAR.replace('/', '\\'), - resolved, windows); - } - - /** - * Bug 42275; Ant failing to run off a remote share - * - * @throws Throwable if desired - */ - @Test - public void testFileFromRemoteShare() throws Throwable { - String resolved = Locator.fromJarURI(SHARED_JAR_URI); - File f = new File(resolved); - String path = f.getAbsolutePath(); - if (windows) { - assertEquals(0, path.indexOf("\\\\")); - } - } - - @Test - public void testHttpURI() throws Exception { - String url = "http://ant.apache.org"; - try { - Locator.fromURI(url); - fail("Exception should have been thrown"); - } catch (IllegalArgumentException e) { - String message = e.getMessage(); - assertContains(Locator.ERROR_NOT_FILE_URI, message); - assertContains(url, message); - } - } - - @Test - public void testInternationalURI() throws Exception { - String result = assertResolves("L\u00f6wenbrau.aus.M\u00fcnchen"); - char umlauted = result.charAt(1); - assertEquals("expected 0xf6 (\u00f6), but got " + Integer.toHexString(umlauted) + " '" - + umlauted + "'", 0xf6, umlauted); - assertEquals("file:/tmp/a%C3%A7a%C3%AD%20berry", Locator.encodeURI("file:/tmp/a\u00E7a\u00ED berry")); - assertEquals("file:/tmp/a\u00E7a\u00ED berry", Locator.decodeUri("file:/tmp/a%C3%A7a%C3%AD%20berry")); - assertEquals("file:/tmp/a\u00E7a\u00ED berry", Locator.decodeUri("file:/tmp/a\u00E7a\u00ED%20berry")); // #50543 - assertEquals("file:/tmp/hezky \u010Desky", Locator.decodeUri("file:/tmp/hezky%20\u010Desky")); // non-ISO-8859-1 variant - } - - @Test - public void testOddLowAsciiURI() throws Exception { - assertResolves("hash# and percent%"); - } - -} |