git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@277135 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -1467,6 +1467,7 @@ | |||||
| <sysproperty key="build.tests.value" value="${build.tests.value}"/> | <sysproperty key="build.tests.value" value="${build.tests.value}"/> | ||||
| <sysproperty key="tests-classpath.value" | <sysproperty key="tests-classpath.value" | ||||
| value="${tests-classpath.value}"/> | value="${tests-classpath.value}"/> | ||||
| <sysproperty key="root" file="${basedir}"/> | |||||
| <formatter type="brief" usefile="false"/> | <formatter type="brief" usefile="false"/> | ||||
| @@ -1622,6 +1623,7 @@ | |||||
| <sysproperty key="offline" value="${offline}"/> | <sysproperty key="offline" value="${offline}"/> | ||||
| <sysproperty key="tests-classpath.value" | <sysproperty key="tests-classpath.value" | ||||
| value="${tests-classpath.value}"/> | value="${tests-classpath.value}"/> | ||||
| <sysproperty key="root" file="${basedir}"/> | |||||
| <classpath refid="tests-classpath"/> | <classpath refid="tests-classpath"/> | ||||
| <formatter type="plain" usefile="false"/> | <formatter type="plain" usefile="false"/> | ||||
| <test name="${testcase}"/> | <test name="${testcase}"/> | ||||
| @@ -214,9 +214,10 @@ public abstract class BuildFileTest extends TestCase { | |||||
| fullLogBuffer = new StringBuffer(); | fullLogBuffer = new StringBuffer(); | ||||
| project = new Project(); | project = new Project(); | ||||
| project.init(); | project.init(); | ||||
| project.setUserProperty( "ant.file" , new File(filename).getAbsolutePath() ); | |||||
| File antFile = new File(System.getProperty("root"), filename); | |||||
| project.setUserProperty("ant.file" , antFile.getAbsolutePath()); | |||||
| project.addBuildListener(new AntTestListener(logLevel)); | project.addBuildListener(new AntTestListener(logLevel)); | ||||
| ProjectHelper.configureProject(project, new File(filename)); | |||||
| ProjectHelper.configureProject(project, antFile); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -227,10 +227,11 @@ public class DirectoryScannerTest extends BuildFileTest { | |||||
| public void testSetFollowLinks() { | public void testSetFollowLinks() { | ||||
| if (supportsSymlinks) { | if (supportsSymlinks) { | ||||
| File linkFile = new File(System.getProperty("root"), "src/main/org/apache/tools/ThisIsALink"); | |||||
| try { | try { | ||||
| // add conditions and more commands as soon as the need arises | // add conditions and more commands as soon as the need arises | ||||
| String[] command = new String[] { | String[] command = new String[] { | ||||
| "ln", "-s", "ant", "src/main/org/apache/tools/ThisIsALink" | |||||
| "ln", "-s", "ant", linkFile.getAbsolutePath() | |||||
| }; | }; | ||||
| try { | try { | ||||
| Runtime.getRuntime().exec(command); | Runtime.getRuntime().exec(command); | ||||
| @@ -243,7 +244,7 @@ public class DirectoryScannerTest extends BuildFileTest { | |||||
| } catch (InterruptedException ie) { | } catch (InterruptedException ie) { | ||||
| } | } | ||||
| File dir = new File("src/main/org/apache/tools"); | |||||
| File dir = new File(System.getProperty("root"), "src/main/org/apache/tools"); | |||||
| DirectoryScanner ds = new DirectoryScanner(); | DirectoryScanner ds = new DirectoryScanner(); | ||||
| // followLinks should be true by default, but if this ever | // followLinks should be true by default, but if this ever | ||||
| @@ -300,9 +301,8 @@ public class DirectoryScannerTest extends BuildFileTest { | |||||
| !haveTaskdefsPackage); | !haveTaskdefsPackage); | ||||
| } finally { | } finally { | ||||
| File f = new File("src/main/org/apache/tools/ThisIsALink"); | |||||
| if (!f.delete()) { | |||||
| throw new RuntimeException("Failed to delete " + f); | |||||
| if (!linkFile.delete()) { | |||||
| throw new RuntimeException("Failed to delete " + linkFile); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -342,7 +342,7 @@ public class ExecTaskTest extends BuildFileTest { | |||||
| if (project.getProperty("test.can.run") == null) { | if (project.getProperty("test.can.run") == null) { | ||||
| return; | return; | ||||
| } | } | ||||
| myBuild = new MonitoredBuild(new File(BUILD_FILE), "spawn"); | |||||
| myBuild = new MonitoredBuild(new File(System.getProperty("root"), BUILD_FILE), "spawn"); | |||||
| FileUtils fileutils = FileUtils.newFileUtils(); | FileUtils fileutils = FileUtils.newFileUtils(); | ||||
| logFile = fileutils.createTempFile("spawn","log", project.getBaseDir()); | logFile = fileutils.createTempFile("spawn","log", project.getBaseDir()); | ||||
| // this is guaranteed by FileUtils#createTempFile | // this is guaranteed by FileUtils#createTempFile | ||||
| @@ -42,68 +42,68 @@ public class FixCrLfTest extends BuildFileTest { | |||||
| public void test1() throws IOException { | public void test1() throws IOException { | ||||
| executeTarget("test1"); | executeTarget("test1"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk1.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk1.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java")); | |||||
| } | } | ||||
| public void test2() throws IOException { | public void test2() throws IOException { | ||||
| executeTarget("test2"); | executeTarget("test2"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk2.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk2.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk2.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk2.java")); | |||||
| } | } | ||||
| public void test3() throws IOException { | public void test3() throws IOException { | ||||
| executeTarget("test3"); | executeTarget("test3"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk3.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk3.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk3.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk3.java")); | |||||
| } | } | ||||
| public void test4() throws IOException { | public void test4() throws IOException { | ||||
| executeTarget("test4"); | executeTarget("test4"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk4.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk4.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk4.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk4.java")); | |||||
| } | } | ||||
| public void test5() throws IOException { | public void test5() throws IOException { | ||||
| executeTarget("test5"); | executeTarget("test5"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk5.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk5.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk5.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk5.java")); | |||||
| } | } | ||||
| public void test6() throws IOException { | public void test6() throws IOException { | ||||
| executeTarget("test6"); | executeTarget("test6"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk6.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk6.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk6.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk6.java")); | |||||
| } | } | ||||
| public void test7() throws IOException { | public void test7() throws IOException { | ||||
| executeTarget("test7"); | executeTarget("test7"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk7.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk7.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk7.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk7.java")); | |||||
| } | } | ||||
| public void test8() throws IOException { | public void test8() throws IOException { | ||||
| executeTarget("test8"); | executeTarget("test8"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk8.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk8.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk8.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk8.java")); | |||||
| } | } | ||||
| public void test9() throws IOException { | public void test9() throws IOException { | ||||
| executeTarget("test9"); | executeTarget("test9"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Junk9.java"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk9.java")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk9.java"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk9.java")); | |||||
| } | } | ||||
| public void testMacLines() throws IOException { | public void testMacLines() throws IOException { | ||||
| executeTarget("testMacLines"); | executeTarget("testMacLines"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Mac2Unix"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Mac2Unix")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Mac2Unix"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Mac2Unix")); | |||||
| } | } | ||||
| public void testNoOverwrite() throws IOException { | public void testNoOverwrite() throws IOException { | ||||
| executeTarget("test1"); | executeTarget("test1"); | ||||
| File result = | File result = | ||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java"); | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java"); | |||||
| long modTime = result.lastModified(); | long modTime = result.lastModified(); | ||||
| /* | /* | ||||
| @@ -125,7 +125,7 @@ public class FixCrLfTest extends BuildFileTest { | |||||
| executeTarget("test1"); | executeTarget("test1"); | ||||
| result = | result = | ||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java"); | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java"); | |||||
| assertEquals(modTime, result.lastModified()); | assertEquals(modTime, result.lastModified()); | ||||
| } | } | ||||
| @@ -135,44 +135,44 @@ public class FixCrLfTest extends BuildFileTest { | |||||
| return; | return; | ||||
| } | } | ||||
| executeTarget("testEncoding"); | executeTarget("testEncoding"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/input.lf.utf16"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/input.crlf.utf16")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/input.lf.utf16"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/input.crlf.utf16")); | |||||
| } | } | ||||
| public void testLongLines() throws IOException { | public void testLongLines() throws IOException { | ||||
| executeTarget("testLongLines"); | executeTarget("testLongLines"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/longlines.lf"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/longlines.crlf")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/longlines.lf"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/longlines.crlf")); | |||||
| } | } | ||||
| public void testCrCrLfSequenceUnix() throws IOException { | public void testCrCrLfSequenceUnix() throws IOException { | ||||
| executeTarget("testCrCrLfSequence-unix"); | executeTarget("testCrCrLfSequence-unix"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.unix"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.unix"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||||
| } | } | ||||
| public void testCrCrLfSequenceDos() throws IOException { | public void testCrCrLfSequenceDos() throws IOException { | ||||
| executeTarget("testCrCrLfSequence-dos"); | executeTarget("testCrCrLfSequence-dos"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.dos"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.dos"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||||
| } | } | ||||
| public void testCrCrLfSequenceMac() throws IOException { | public void testCrCrLfSequenceMac() throws IOException { | ||||
| executeTarget("testCrCrLfSequence-mac"); | executeTarget("testCrCrLfSequence-mac"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.mac"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.mac"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||||
| } | } | ||||
| public void testFixlastDos() throws IOException { | public void testFixlastDos() throws IOException { | ||||
| executeTarget("testFixlastDos"); | executeTarget("testFixlastDos"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/fixlast.dos"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/fixlastfalse.lf")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/fixlast.dos"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/fixlastfalse.lf")); | |||||
| } | } | ||||
| public void testFixlastFalseMac() throws IOException { | public void testFixlastFalseMac() throws IOException { | ||||
| executeTarget("testFixlastFalseMac"); | executeTarget("testFixlastFalseMac"); | ||||
| assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/fixlastfalse.mac"), | |||||
| new File("src/etc/testcases/taskdefs/fixcrlf/result/fixlastfalse.lf")); | |||||
| assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/fixlastfalse.mac"), | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/fixlastfalse.lf")); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -123,7 +123,8 @@ public class ImportTest extends BuildFileTest { | |||||
| return; | return; | ||||
| } | } | ||||
| String symlink = "src/etc/testcases/taskdefs/import/symlinks/d3b"; | String symlink = "src/etc/testcases/taskdefs/import/symlinks/d3b"; | ||||
| if (Runtime.getRuntime().exec(new String[] {ln, "-s", "d3a", symlink}).waitFor() != 0) { | |||||
| File symlinkFile = new File(System.getProperty("root"), symlink); | |||||
| if (Runtime.getRuntime().exec(new String[] {ln, "-s", "d3a", symlinkFile.getAbsolutePath()}).waitFor() != 0) { | |||||
| throw new IOException("'" + ln + " -s d3a " + symlink + "' failed"); | throw new IOException("'" + ln + " -s d3a " + symlink + "' failed"); | ||||
| } | } | ||||
| try { | try { | ||||
| @@ -131,14 +132,14 @@ public class ImportTest extends BuildFileTest { | |||||
| "src/etc/testcases/taskdefs/import/symlinks/d1/p1.xml"); | "src/etc/testcases/taskdefs/import/symlinks/d1/p1.xml"); | ||||
| assertPropertyEquals( | assertPropertyEquals( | ||||
| "ant.file.p2", | "ant.file.p2", | ||||
| new File("src/etc/testcases/taskdefs/import/symlinks/d2/p2.xml") | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/import/symlinks/d2/p2.xml") | |||||
| .getAbsolutePath()); | .getAbsolutePath()); | ||||
| assertPropertyEquals( | assertPropertyEquals( | ||||
| "ant.file.p3", | "ant.file.p3", | ||||
| new File("src/etc/testcases/taskdefs/import/symlinks/d3b/p3.xml") | |||||
| new File(System.getProperty("root"), "src/etc/testcases/taskdefs/import/symlinks/d3b/p3.xml") | |||||
| .getAbsolutePath()); | .getAbsolutePath()); | ||||
| } finally { | } finally { | ||||
| new File(symlink).delete(); | |||||
| symlinkFile.delete(); | |||||
| } | } | ||||
| } | } | ||||
| @@ -31,6 +31,9 @@ import org.apache.tools.ant.util.FileUtils; | |||||
| * | * | ||||
| */ | */ | ||||
| public class InitializeClassTest extends BuildFileTest { | public class InitializeClassTest extends BuildFileTest { | ||||
| private File f1 = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/forkedout"); | |||||
| private File f2 = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/unforkedout"); | |||||
| public InitializeClassTest(String name) { | public InitializeClassTest(String name) { | ||||
| super(name); | super(name); | ||||
| @@ -43,8 +46,6 @@ public class InitializeClassTest extends BuildFileTest { | |||||
| public void testAll() throws IOException { | public void testAll() throws IOException { | ||||
| executeTarget("forked"); | executeTarget("forked"); | ||||
| PrintStream ps = System.out; | PrintStream ps = System.out; | ||||
| File f1 = new File("src/etc/testcases/taskdefs/forkedout"); | |||||
| File f2 = new File("src/etc/testcases/taskdefs/unforkedout"); | |||||
| PrintStream newps = new PrintStream(new FileOutputStream(f2)); | PrintStream newps = new PrintStream(new FileOutputStream(f2)); | ||||
| System.setOut(newps); | System.setOut(newps); | ||||
| project.executeTarget("unforked"); | project.executeTarget("unforked"); | ||||
| @@ -55,8 +56,6 @@ public class InitializeClassTest extends BuildFileTest { | |||||
| } | } | ||||
| public void tearDown() { | public void tearDown() { | ||||
| File f1 = new File("src/etc/testcases/taskdefs/forkedout"); | |||||
| File f2 = new File("src/etc/testcases/taskdefs/unforkedout"); | |||||
| f1.delete(); | f1.delete(); | ||||
| f2.delete(); | f2.delete(); | ||||
| } | } | ||||
| @@ -294,7 +294,7 @@ public class ManifestTest extends BuildFileTest { | |||||
| * Reads mftest.mf. | * Reads mftest.mf. | ||||
| */ | */ | ||||
| private Manifest getManifest(String filename) throws IOException, ManifestException { | private Manifest getManifest(String filename) throws IOException, ManifestException { | ||||
| FileReader r = new FileReader(filename); | |||||
| FileReader r = new FileReader(new File(System.getProperty("root"), filename)); | |||||
| try { | try { | ||||
| return new Manifest(r); | return new Manifest(r); | ||||
| } finally { | } finally { | ||||
| @@ -16,6 +16,8 @@ | |||||
| */ | */ | ||||
| package org.apache.tools.ant.taskdefs; | package org.apache.tools.ant.taskdefs; | ||||
| import java.io.File; | |||||
| import org.apache.tools.ant.BuildFileTest; | import org.apache.tools.ant.BuildFileTest; | ||||
| /** | /** | ||||
| @@ -48,8 +50,8 @@ public class TarTest extends BuildFileTest { | |||||
| public void test5() { | public void test5() { | ||||
| executeTarget("test5"); | executeTarget("test5"); | ||||
| java.io.File f | |||||
| = new java.io.File("src/etc/testcases/taskdefs/test5.tar"); | |||||
| File f | |||||
| = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/test5.tar"); | |||||
| if (!f.exists()) { | if (!f.exists()) { | ||||
| fail("Tarring a directory failed"); | fail("Tarring a directory failed"); | ||||
| @@ -62,15 +64,15 @@ public class TarTest extends BuildFileTest { | |||||
| public void test7() { | public void test7() { | ||||
| executeTarget("test7"); | executeTarget("test7"); | ||||
| java.io.File f1 | |||||
| = new java.io.File("src/etc/testcases/taskdefs/test7-prefix"); | |||||
| File f1 | |||||
| = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/test7-prefix"); | |||||
| if (!(f1.exists() && f1.isDirectory())) { | if (!(f1.exists() && f1.isDirectory())) { | ||||
| fail("The prefix attribute is not working properly."); | fail("The prefix attribute is not working properly."); | ||||
| } | } | ||||
| java.io.File f2 | |||||
| = new java.io.File("src/etc/testcases/taskdefs/test7dir"); | |||||
| File f2 | |||||
| = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/test7dir"); | |||||
| if (!(f2.exists() && f2.isDirectory())) { | if (!(f2.exists() && f2.isDirectory())) { | ||||
| fail("The prefix attribute is not working properly."); | fail("The prefix attribute is not working properly."); | ||||
| @@ -79,8 +81,8 @@ public class TarTest extends BuildFileTest { | |||||
| public void test8() { | public void test8() { | ||||
| executeTarget("test8"); | executeTarget("test8"); | ||||
| java.io.File f1 | |||||
| = new java.io.File("src/etc/testcases/taskdefs/test8.xml"); | |||||
| File f1 | |||||
| = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/test8.xml"); | |||||
| if (! f1.exists()) { | if (! f1.exists()) { | ||||
| fail("The fullpath attribute or the preserveLeadingSlashes attribute does not work propertly"); | fail("The fullpath attribute or the preserveLeadingSlashes attribute does not work propertly"); | ||||
| } | } | ||||
| @@ -92,8 +94,8 @@ public class TarTest extends BuildFileTest { | |||||
| public void test10() { | public void test10() { | ||||
| executeTarget("test10"); | executeTarget("test10"); | ||||
| java.io.File f1 | |||||
| = new java.io.File("src/etc/testcases/taskdefs/test10.xml"); | |||||
| File f1 | |||||
| = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/test10.xml"); | |||||
| if (! f1.exists()) { | if (! f1.exists()) { | ||||
| fail("The fullpath attribute or the preserveLeadingSlashes attribute does not work propertly"); | fail("The fullpath attribute or the preserveLeadingSlashes attribute does not work propertly"); | ||||
| } | } | ||||
| @@ -101,8 +103,8 @@ public class TarTest extends BuildFileTest { | |||||
| public void test11() { | public void test11() { | ||||
| executeTarget("test11"); | executeTarget("test11"); | ||||
| java.io.File f1 | |||||
| = new java.io.File("src/etc/testcases/taskdefs/test11.xml"); | |||||
| File f1 | |||||
| = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/test11.xml"); | |||||
| if (! f1.exists()) { | if (! f1.exists()) { | ||||
| fail("The fullpath attribute or the preserveLeadingSlashes attribute does not work propertly"); | fail("The fullpath attribute or the preserveLeadingSlashes attribute does not work propertly"); | ||||
| } | } | ||||
| @@ -25,7 +25,7 @@ import java.io.File; | |||||
| public class TouchTest extends BuildFileTest { | public class TouchTest extends BuildFileTest { | ||||
| private static String touchfile="src/etc/testcases/taskdefs/touchtest"; | |||||
| private static String TOUCH_FILE = "src/etc/testcases/taskdefs/touchtest"; | |||||
| public TouchTest(String name) { | public TouchTest(String name) { | ||||
| super(name); | super(name); | ||||
| @@ -41,9 +41,9 @@ public class TouchTest extends BuildFileTest { | |||||
| public long getTargetTime() { | public long getTargetTime() { | ||||
| File file = new File(touchfile); | |||||
| File file = new File(System.getProperty("root"), TOUCH_FILE); | |||||
| if(!file.exists()) { | if(!file.exists()) { | ||||
| throw new BuildException("failed to touch file "+touchfile); | |||||
| throw new BuildException("failed to touch file " + file); | |||||
| } | } | ||||
| return file.lastModified(); | return file.lastModified(); | ||||
| } | } | ||||
| @@ -116,7 +116,7 @@ public class XmlPropertyTest extends BuildFileTest { | |||||
| private void doTest(String msg, boolean keepRoot, boolean collapse, | private void doTest(String msg, boolean keepRoot, boolean collapse, | ||||
| boolean semantic, boolean include, boolean localRoot) { | boolean semantic, boolean include, boolean localRoot) { | ||||
| Enumeration iter = | Enumeration iter = | ||||
| getFiles(new File("src/etc/testcases/taskdefs/xmlproperty/inputs")); | |||||
| getFiles(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/xmlproperty/inputs")); | |||||
| while (iter.hasMoreElements()) { | while (iter.hasMoreElements()) { | ||||
| File inputFile = (File) iter.nextElement(); | File inputFile = (File) iter.nextElement(); | ||||
| // What's the working directory? If local, then its the | // What's the working directory? If local, then its the | ||||
| @@ -57,7 +57,7 @@ public class ANTLRTest extends BuildFileTest { | |||||
| public void test3() { | public void test3() { | ||||
| executeTarget("test3"); | executeTarget("test3"); | ||||
| File outputDirectory = new File(TASKDEFS_DIR + "antlr.tmp"); | |||||
| File outputDirectory = new File(System.getProperty("root"), TASKDEFS_DIR + "antlr.tmp"); | |||||
| String[] calcFiles = outputDirectory.list(new CalcFileFilter()); | String[] calcFiles = outputDirectory.list(new CalcFileFilter()); | ||||
| assertEquals(5, calcFiles.length); | assertEquals(5, calcFiles.length); | ||||
| } | } | ||||
| @@ -101,7 +101,7 @@ public class ANTLRTest extends BuildFileTest { | |||||
| */ | */ | ||||
| public void test10() { | public void test10() { | ||||
| executeTarget("test10"); | executeTarget("test10"); | ||||
| File outputDirectory = new File(TASKDEFS_DIR + "antlr.tmp"); | |||||
| File outputDirectory = new File(System.getProperty("root"), TASKDEFS_DIR + "antlr.tmp"); | |||||
| String[] calcFiles = outputDirectory.list(new HTMLFilter()); | String[] calcFiles = outputDirectory.list(new HTMLFilter()); | ||||
| assertTrue(calcFiles.length > 0); | assertTrue(calcFiles.length > 0); | ||||
| } | } | ||||
| @@ -64,7 +64,7 @@ public class JspcTest extends BuildFileTest { | |||||
| */ | */ | ||||
| public void setUp() { | public void setUp() { | ||||
| configureProject(TASKDEFS_DIR + "jspc.xml"); | configureProject(TASKDEFS_DIR + "jspc.xml"); | ||||
| baseDir = new File(TASKDEFS_DIR); | |||||
| baseDir = new File(System.getProperty("root"), TASKDEFS_DIR); | |||||
| outDir = new File(baseDir, "jsp/java"); | outDir = new File(baseDir, "jsp/java"); | ||||
| } | } | ||||
| @@ -117,7 +117,7 @@ public class PropertyFileTest extends BuildFileTest { | |||||
| public void testDirect() throws Exception { | public void testDirect() throws Exception { | ||||
| PropertyFile pf = new PropertyFile(); | PropertyFile pf = new PropertyFile(); | ||||
| pf.setProject(project); | pf.setProject(project); | ||||
| pf.setFile(new File(testPropsFilePath)); | |||||
| pf.setFile(new File(System.getProperty("root"), testPropsFilePath)); | |||||
| PropertyFile.Entry entry = pf.createEntry(); | PropertyFile.Entry entry = pf.createEntry(); | ||||
| entry.setKey("date"); | entry.setKey("date"); | ||||
| @@ -139,7 +139,7 @@ public class PropertyFileTest extends BuildFileTest { | |||||
| private Properties getTestProperties() throws Exception { | private Properties getTestProperties() throws Exception { | ||||
| Properties testProps = new Properties(); | Properties testProps = new Properties(); | ||||
| FileInputStream propsFile = new FileInputStream(testPropsFilePath); | |||||
| FileInputStream propsFile = new FileInputStream(new File(System.getProperty("root"), testPropsFilePath)); | |||||
| testProps.load(propsFile); | testProps.load(propsFile); | ||||
| propsFile.close(); | propsFile.close(); | ||||
| return testProps; | return testProps; | ||||
| @@ -153,7 +153,7 @@ public class PropertyFileTest extends BuildFileTest { | |||||
| testProps.put(EMAIL_KEY, EMAIL); | testProps.put(EMAIL_KEY, EMAIL); | ||||
| testProps.put("existing.prop", "37"); | testProps.put("existing.prop", "37"); | ||||
| FileOutputStream fos = new FileOutputStream(testPropsFilePath); | |||||
| FileOutputStream fos = new FileOutputStream(new File(System.getProperty("root"), testPropsFilePath)); | |||||
| testProps.store(fos, "defaults"); | testProps.store(fos, "defaults"); | ||||
| fos.close(); | fos.close(); | ||||
| } | } | ||||
| @@ -169,22 +169,22 @@ public class PropertyFileTest extends BuildFileTest { | |||||
| buildProps.put(AGE_KEY, NEW_AGE); | buildProps.put(AGE_KEY, NEW_AGE); | ||||
| buildProps.put(DATE_KEY, NEW_DATE); | buildProps.put(DATE_KEY, NEW_DATE); | ||||
| FileOutputStream fos = new FileOutputStream(buildPropsFilePath); | |||||
| FileOutputStream fos = new FileOutputStream(new File(System.getProperty("root"), buildPropsFilePath)); | |||||
| buildProps.store(fos, null); | buildProps.store(fos, null); | ||||
| fos.close(); | fos.close(); | ||||
| } | } | ||||
| private void destroyTempFiles() { | private void destroyTempFiles() { | ||||
| File tempFile = new File(testPropsFilePath); | |||||
| File tempFile = new File(System.getProperty("root"), testPropsFilePath); | |||||
| tempFile.delete(); | tempFile.delete(); | ||||
| tempFile = null; | tempFile = null; | ||||
| tempFile = new File(buildPropsFilePath); | |||||
| tempFile = new File(System.getProperty("root"), buildPropsFilePath); | |||||
| tempFile.delete(); | tempFile.delete(); | ||||
| tempFile = null; | tempFile = null; | ||||
| tempFile = new File(valueDoesNotGetOverwrittenPropsFilePath); | |||||
| tempFile = new File(System.getProperty("root"), valueDoesNotGetOverwrittenPropsFilePath); | |||||
| tempFile.delete(); | tempFile.delete(); | ||||
| tempFile = null; | tempFile = null; | ||||
| } | } | ||||
| @@ -47,7 +47,7 @@ public class ReplaceRegExpTest extends BuildFileTest { | |||||
| Properties original = new Properties(); | Properties original = new Properties(); | ||||
| FileInputStream propsFile = null; | FileInputStream propsFile = null; | ||||
| try { | try { | ||||
| propsFile = new FileInputStream(PROJECT_PATH + "/replaceregexp.properties"); | |||||
| propsFile = new FileInputStream(new File(System.getProperty("root"), PROJECT_PATH + "/replaceregexp.properties")); | |||||
| original.load(propsFile); | original.load(propsFile); | ||||
| } finally { | } finally { | ||||
| if (propsFile != null) { | if (propsFile != null) { | ||||
| @@ -62,7 +62,7 @@ public class ReplaceRegExpTest extends BuildFileTest { | |||||
| Properties after = new Properties(); | Properties after = new Properties(); | ||||
| try { | try { | ||||
| propsFile = new FileInputStream(PROJECT_PATH + "/test.properties"); | |||||
| propsFile = new FileInputStream(new File(System.getProperty("root"), PROJECT_PATH + "/test.properties")); | |||||
| after.load(propsFile); | after.load(propsFile); | ||||
| } finally { | } finally { | ||||
| if (propsFile != null) { | if (propsFile != null) { | ||||
| @@ -77,7 +77,7 @@ public class ReplaceRegExpTest extends BuildFileTest { | |||||
| // inspired by bug 22541 | // inspired by bug 22541 | ||||
| public void testDirectoryDateDoesNotChange() { | public void testDirectoryDateDoesNotChange() { | ||||
| executeTarget("touchDirectory"); | executeTarget("touchDirectory"); | ||||
| File myFile = new File(PROJECT_PATH + "/" + getProject().getProperty("tmpregexp")); | |||||
| File myFile = new File(System.getProperty("root"), PROJECT_PATH + "/" + getProject().getProperty("tmpregexp")); | |||||
| long timeStampBefore = myFile.lastModified(); | long timeStampBefore = myFile.lastModified(); | ||||
| executeTarget("testDirectoryDateDoesNotChange"); | executeTarget("testDirectoryDateDoesNotChange"); | ||||
| long timeStampAfter = myFile.lastModified(); | long timeStampAfter = myFile.lastModified(); | ||||
| @@ -88,16 +88,16 @@ public class ReplaceRegExpTest extends BuildFileTest { | |||||
| executeTarget("testDontAddNewline1"); | executeTarget("testDontAddNewline1"); | ||||
| assertTrue("Files match", | assertTrue("Files match", | ||||
| FileUtils.newFileUtils() | FileUtils.newFileUtils() | ||||
| .contentEquals(new File(PROJECT_PATH + "/test.properties"), | |||||
| new File(PROJECT_PATH + "/replaceregexp2.result.properties"))); | |||||
| .contentEquals(new File(System.getProperty("root"), PROJECT_PATH + "/test.properties"), | |||||
| new File(System.getProperty("root"), PROJECT_PATH + "/replaceregexp2.result.properties"))); | |||||
| } | } | ||||
| public void testDontAddNewline2() throws IOException { | public void testDontAddNewline2() throws IOException { | ||||
| executeTarget("testDontAddNewline2"); | executeTarget("testDontAddNewline2"); | ||||
| assertTrue("Files match", | assertTrue("Files match", | ||||
| FileUtils.newFileUtils() | FileUtils.newFileUtils() | ||||
| .contentEquals(new File(PROJECT_PATH + "/test.properties"), | |||||
| new File(PROJECT_PATH + "/replaceregexp2.result.properties"))); | |||||
| .contentEquals(new File(System.getProperty("root"), PROJECT_PATH + "/test.properties"), | |||||
| new File(System.getProperty("root"), PROJECT_PATH + "/replaceregexp2.result.properties"))); | |||||
| } | } | ||||
| }// ReplaceRegExpTest | }// ReplaceRegExpTest | ||||
| @@ -51,8 +51,8 @@ public class TranslateTest extends BuildFileTest { | |||||
| assertTrue("translation of "+ TASKDEFS_DIR + "/input/template.txt",compareFiles(TASKDEFS_DIR+"/expected/de/template.txt",TASKDEFS_DIR+"/output/de/template.txt")); | assertTrue("translation of "+ TASKDEFS_DIR + "/input/template.txt",compareFiles(TASKDEFS_DIR+"/expected/de/template.txt",TASKDEFS_DIR+"/output/de/template.txt")); | ||||
| } | } | ||||
| private boolean compareFiles(String name1, String name2) { | private boolean compareFiles(String name1, String name2) { | ||||
| File file1 = new File(name1); | |||||
| File file2 = new File(name2); | |||||
| File file1 = new File(System.getProperty("root"), name1); | |||||
| File file2 = new File(System.getProperty("root"), name2); | |||||
| try { | try { | ||||
| if (!file1.exists() || !file2.exists()) { | if (!file1.exists() || !file2.exists()) { | ||||
| @@ -46,7 +46,7 @@ public class JUnitReportTest extends BuildFileTest { | |||||
| */ | */ | ||||
| public void testNoFileJUnitNoFrames() { | public void testNoFileJUnitNoFrames() { | ||||
| executeTarget("reports1"); | executeTarget("reports1"); | ||||
| if (new File("src/etc/testcases/taskdefs/optional/junitreport/test/html/junit-noframes.html").exists()) | |||||
| if (new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/junit-noframes.html").exists()) | |||||
| { | { | ||||
| fail("No file junit-noframes.html expected"); | fail("No file junit-noframes.html expected"); | ||||
| } | } | ||||
| @@ -37,7 +37,7 @@ public class CommandlineJavaTest extends TestCase { | |||||
| public void setUp() { | public void setUp() { | ||||
| project = new Project(); | project = new Project(); | ||||
| project.setBasedir("."); | |||||
| project.setBasedir(System.getProperty("root")); | |||||
| project.setProperty("build.sysclasspath", "ignore"); | project.setProperty("build.sysclasspath", "ignore"); | ||||
| cloneVm = System.getProperty("build.clonevm"); | cloneVm = System.getProperty("build.clonevm"); | ||||
| if (cloneVm != null) { | if (cloneVm != null) { | ||||
| @@ -125,8 +125,8 @@ public class FilterSetTest extends BuildFileTest { | |||||
| } | } | ||||
| private boolean compareFiles(String name1, String name2) { | private boolean compareFiles(String name1, String name2) { | ||||
| File file1 = new File(name1); | |||||
| File file2 = new File(name2); | |||||
| File file1 = new File(System.getProperty("root"), name1); | |||||
| File file2 = new File(System.getProperty("root"), name2); | |||||
| try { | try { | ||||
| if (!file1.exists() || !file2.exists()) { | if (!file1.exists() || !file2.exists()) { | ||||
| @@ -45,7 +45,7 @@ public class PathTest extends TestCase { | |||||
| public void setUp() { | public void setUp() { | ||||
| project = new Project(); | project = new Project(); | ||||
| project.setBasedir("."); | |||||
| project.setBasedir(System.getProperty("root")); | |||||
| } | } | ||||
| // actually tests constructor as well as setPath | // actually tests constructor as well as setPath | ||||
| @@ -66,7 +66,7 @@ public class PathTest extends TestCase { | |||||
| } | } | ||||
| public void testRelativePathUnixStyle() { | public void testRelativePathUnixStyle() { | ||||
| project.setBasedir("src/etc"); | |||||
| project.setBasedir(new File(System.getProperty("root"), "src/etc").getAbsolutePath()); | |||||
| Path p = new Path(project, "..:testcases"); | Path p = new Path(project, "..:testcases"); | ||||
| String[] l = p.list(); | String[] l = p.list(); | ||||
| assertEquals("two items, Unix style", 2, l.length); | assertEquals("two items, Unix style", 2, l.length); | ||||
| @@ -61,7 +61,7 @@ public class XMLCatalogTest extends TestCase { | |||||
| public void setUp() { | public void setUp() { | ||||
| project = new Project(); | project = new Project(); | ||||
| project.setBasedir("."); | |||||
| project.setBasedir(System.getProperty("root")); | |||||
| // This causes XMLCatalog to print out detailed logging | // This causes XMLCatalog to print out detailed logging | ||||
| // messages for debugging | // messages for debugging | ||||
| @@ -206,7 +206,7 @@ public class XMLCatalogTest extends TestCase { | |||||
| ResourceLocation dtd = new ResourceLocation(); | ResourceLocation dtd = new ResourceLocation(); | ||||
| dtd.setPublicId("-//stevo//DTD doc 1.0//EN"); | dtd.setPublicId("-//stevo//DTD doc 1.0//EN"); | ||||
| String sysid = System.getProperty("user.dir") + File.separator + "src/etc/testcases/taskdefs/optional/xml/doc.dtd"; | |||||
| String sysid = System.getProperty("root") + File.separator + "src/etc/testcases/taskdefs/optional/xml/doc.dtd"; | |||||
| dtd.setLocation(sysid); | dtd.setLocation(sysid); | ||||
| catalog.addDTD(dtd); | catalog.addDTD(dtd); | ||||
| File dtdFile = project.resolveFile(sysid); | File dtdFile = project.resolveFile(sysid); | ||||
| @@ -39,9 +39,9 @@ public abstract class BaseSelectorTest extends TestCase { | |||||
| protected String basedirname = "src/etc/testcases/types"; | protected String basedirname = "src/etc/testcases/types"; | ||||
| protected String beddirname = basedirname + "/selectortest"; | protected String beddirname = basedirname + "/selectortest"; | ||||
| protected String mirrordirname = basedirname + "/selectortest2"; | protected String mirrordirname = basedirname + "/selectortest2"; | ||||
| protected File basedir = new File(basedirname); | |||||
| protected File beddir = new File(beddirname); | |||||
| protected File mirrordir = new File(mirrordirname); | |||||
| protected File basedir = new File(System.getProperty("root"), basedirname); | |||||
| protected File beddir = new File(System.getProperty("root"), beddirname); | |||||
| protected File mirrordir = new File(System.getProperty("root"), mirrordirname); | |||||
| protected String[] filenames = {".","asf-logo.gif.md5","asf-logo.gif.bz2", | protected String[] filenames = {".","asf-logo.gif.md5","asf-logo.gif.bz2", | ||||
| "asf-logo.gif.gz","copy.filterset.filtered","zip/asf-logo.gif.zip", | "asf-logo.gif.gz","copy.filterset.filtered","zip/asf-logo.gif.zip", | ||||
| "tar/asf-logo.gif.tar","tar/asf-logo-huge.tar.gz", | "tar/asf-logo.gif.tar","tar/asf-logo-huge.tar.gz", | ||||
| @@ -108,7 +108,7 @@ public class PresentSelectorTest extends BaseSelectorTest { | |||||
| assertEquals("TTTTTTTTTTTT", results); | assertEquals("TTTTTTTTTTTT", results); | ||||
| s = (PresentSelector)getInstance(); | s = (PresentSelector)getInstance(); | ||||
| File subdir = new File("src/etc/testcases/taskdefs/expected"); | |||||
| File subdir = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/expected"); | |||||
| s.setTargetdir(subdir); | s.setTargetdir(subdir); | ||||
| m = s.createMapper(); | m = s.createMapper(); | ||||
| m.setType(flatten); | m.setType(flatten); | ||||
| @@ -322,18 +322,18 @@ public class FileUtilsTest extends TestCase { | |||||
| * Test contentEquals | * Test contentEquals | ||||
| */ | */ | ||||
| public void testContentEquals() throws IOException { | public void testContentEquals() throws IOException { | ||||
| assertTrue("Non existing files", fu.contentEquals(new File("foo"), | |||||
| new File("bar"))); | |||||
| assertTrue("Non existing files", fu.contentEquals(new File(System.getProperty("root"), "foo"), | |||||
| new File(System.getProperty("root"), "bar"))); | |||||
| assertTrue("One exists, the other one doesn\'t", | assertTrue("One exists, the other one doesn\'t", | ||||
| !fu.contentEquals(new File("foo"), new File("build.xml"))); | |||||
| !fu.contentEquals(new File(System.getProperty("root"), "foo"), new File(System.getProperty("root"), "build.xml"))); | |||||
| assertTrue("Don\'t compare directories", | assertTrue("Don\'t compare directories", | ||||
| !fu.contentEquals(new File("src"), new File("src"))); | |||||
| !fu.contentEquals(new File(System.getProperty("root"), "src"), new File(System.getProperty("root"), "src"))); | |||||
| assertTrue("File equals itself", | assertTrue("File equals itself", | ||||
| fu.contentEquals(new File("build.xml"), | |||||
| new File("build.xml"))); | |||||
| fu.contentEquals(new File(System.getProperty("root"), "build.xml"), | |||||
| new File(System.getProperty("root"), "build.xml"))); | |||||
| assertTrue("Files are different", | assertTrue("Files are different", | ||||
| !fu.contentEquals(new File("build.xml"), | |||||
| new File("docs.xml"))); | |||||
| !fu.contentEquals(new File(System.getProperty("root"), "build.xml"), | |||||
| new File(System.getProperty("root"), "docs.xml"))); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -409,9 +409,14 @@ public class FileUtilsTest extends TestCase { | |||||
| assertEquals("file:///SYS:/foo", fu.toURI("sys:\\foo")); | assertEquals("file:///SYS:/foo", fu.toURI("sys:\\foo")); | ||||
| } | } | ||||
| assertEquals("file:///" + dosRoot + "foo", fu.toURI("/foo")); | assertEquals("file:///" + dosRoot + "foo", fu.toURI("/foo")); | ||||
| /* May fail if the directory ${user.dir}/foo/ exists | |||||
| * (and anyway is the tested behavior actually desirable?): | |||||
| assertEquals("file:./foo", fu.toURI("./foo")); | assertEquals("file:./foo", fu.toURI("./foo")); | ||||
| */ | |||||
| assertEquals("file:///" + dosRoot + "foo", fu.toURI("\\foo")); | assertEquals("file:///" + dosRoot + "foo", fu.toURI("\\foo")); | ||||
| /* See above: | |||||
| assertEquals("file:./foo", fu.toURI(".\\foo")); | assertEquals("file:./foo", fu.toURI(".\\foo")); | ||||
| */ | |||||
| assertEquals("file:///" + dosRoot + "foo%20bar", fu.toURI("/foo bar")); | assertEquals("file:///" + dosRoot + "foo%20bar", fu.toURI("/foo bar")); | ||||
| assertEquals("file:///" + dosRoot + "foo%20bar", fu.toURI("\\foo bar")); | assertEquals("file:///" + dosRoot + "foo%20bar", fu.toURI("\\foo bar")); | ||||
| assertEquals("file:///" + dosRoot + "foo%23bar", fu.toURI("/foo#bar")); | assertEquals("file:///" + dosRoot + "foo%23bar", fu.toURI("/foo#bar")); | ||||