PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271908 13f79535-47bb-0310-9956-ffa450edef68master
@@ -0,0 +1,69 @@ | |||||
<html> | |||||
<head> | |||||
<meta http-equiv="Content-Language" content="en-us"> | |||||
<title>Basename Task</title> | |||||
</head> | |||||
<body> | |||||
<h2><a name="echo">Basename</a></h2> | |||||
<h3>Description</h3> | |||||
<p> | |||||
Task to determine the basename of a specified file, optionally minus a | |||||
specified suffix. | |||||
</p> | |||||
<p> | |||||
When this task executes, it will set the specified property to the | |||||
value of the last path element of the specified file. If <code>file</code> is a | |||||
directory, the basename will be the last directory element. If | |||||
<code>file</code> is a full-path, relative-path, or simple filename, | |||||
the basename will be the simple file name, without any directory elements. | |||||
</p> | |||||
<p> | |||||
<h3>Parameters</h3> | |||||
<table border="1" cellpadding="2" cellspacing="0"> | |||||
<tr> | |||||
<td valign="top"><b>Attribute</b></td> | |||||
<td valign="top"><b>Description</b></td> | |||||
<td align="center" valign="top"><b>Required</b></td> | |||||
</tr> | |||||
<tr> | |||||
<td valign="top">file</td> | |||||
<td valign="top">The path to take the basename of.</td> | |||||
<td valign="top" align="center">Yes</td> | |||||
</tr> | |||||
<tr> | |||||
<td valign="top">property</td> | |||||
<td valign="top">The name of the property to set.</td> | |||||
<td valign="top" align="center">Yes</td> | |||||
</tr> | |||||
<tr> | |||||
<td valign="top">suffix</td> | |||||
<td valign="top">The suffix to remove from the resulting basename | |||||
(specified either with or with the "<code>.</code>").</td> | |||||
<td valign="top" align="center">No</td> | |||||
</tr> | |||||
</table> | |||||
<h3>Examples</h3> | |||||
<pre> <basename property="jar.filename" file="${lib.jarfile}"/></pre> | |||||
will set <code>jar.filename</code> to | |||||
<code>myjar.jar</code>, if <code>lib.jarfile</code> is defined as either a | |||||
full-path filename (eg., <code>/usr/local/lib/myjar.jar</code>), | |||||
a relative-path filename (eg., <code>lib/myjar.jar</code>), | |||||
or a simple filename (eg., <code>myjar.jar</code>). | |||||
<pre> <basename property="cmdname" file="D:/usr/local/foo.exe" suffix=".exe"/></pre> | |||||
will set <code>cmdname</code> to <code>foo</code>. | |||||
<pre> <basename property="temp.dirname" file="${env.TEMP}"/></pre> | |||||
will set <code>temp.dirname</code> to the last directory element of | |||||
the path defined for the <code>TEMP</code> environment variable.</p> | |||||
<hr> | |||||
<p align="center">Copyright © 2002 Apache Software Foundation. | |||||
All rights Reserved.</p> | |||||
</body> | |||||
</html> | |||||
@@ -0,0 +1,54 @@ | |||||
<html> | |||||
<head> | |||||
<meta http-equiv="Content-Language" content="en-us"> | |||||
<title>Dirname Task</title> | |||||
</head> | |||||
<body> | |||||
<h2><a name="echo">Dirname</a></h2> | |||||
<h3>Description</h3> | |||||
<p> | |||||
Task to determine the directory path of a specified file. | |||||
</p> | |||||
<p> | |||||
When this task executes, it will set the specified property to the | |||||
value of the specified file up to, but not including, the last path | |||||
element. If the specified file is a path that ends in a filename, | |||||
the filename will be dropped. If the specified file is just a filename, | |||||
the directory will be the current directory. | |||||
</p> | |||||
<h3>Parameters</h3> | |||||
<table border="1" cellpadding="2" cellspacing="0"> | |||||
<tr> | |||||
<td valign="top"><b>Attribute</b></td> | |||||
<td valign="top"><b>Description</b></td> | |||||
<td align="center" valign="top"><b>Required</b></td> | |||||
</tr> | |||||
<tr> | |||||
<td valign="top">file</td> | |||||
<td valign="top">The path to take the basename of.</td> | |||||
<td valign="top" align="center">Yes</td> | |||||
</tr> | |||||
<tr> | |||||
<td valign="top">property</td> | |||||
<td valign="top">The name of the property to set.</td> | |||||
<td valign="top" align="center">Yes</td> | |||||
</tr> | |||||
</table> | |||||
<h3>Examples</h3> | |||||
<pre> <dirname property="antfile.dir" file="${ant.file}"/></pre> | |||||
will set <code>antfile.dir</code> to the directory path for | |||||
<code>${ant.file}</code>. | |||||
<pre> <dirname property="foo.dirname" file="foo.txt"</pre> | |||||
will set <code>foo.dirname</code> to the current directory.</p> | |||||
<hr> | |||||
<p align="center">Copyright © 2002 Apache Software Foundation. | |||||
All rights Reserved.</p> | |||||
</body> | |||||
</html> | |||||
@@ -0,0 +1,25 @@ | |||||
<?xml version="1.0"?> | |||||
<project name="xxx-test" basedir="." default="test1"> | |||||
<target name="test1"> | |||||
<basename/> | |||||
</target> | |||||
<target name="test2"> | |||||
<basename property="propname"/> | |||||
</target> | |||||
<target name="test3"> | |||||
<basename file="filename"/> | |||||
</target> | |||||
<target name="test4"> | |||||
<basename property="file.w.suf" file="${user.dir}/foo.txt"/> | |||||
</target> | |||||
<target name="test5"> | |||||
<basename property="file.wo.suf" file="foo.txt" suffix="txt"/> | |||||
</target> | |||||
</project> |
@@ -0,0 +1,25 @@ | |||||
<?xml version="1.0"?> | |||||
<project name="xxx-test" basedir="." default="test1"> | |||||
<target name="test1"> | |||||
<dirname/> | |||||
</target> | |||||
<target name="test2"> | |||||
<dirname property="propname"/> | |||||
</target> | |||||
<target name="test3"> | |||||
<dirname file="filename"/> | |||||
</target> | |||||
<target name="test4"> | |||||
<dirname property="local.dir" file="/usr/local/foo.txt"/> | |||||
</target> | |||||
<target name="test5"> | |||||
<dirname property="base.dir" file="foo.txt"/> | |||||
</target> | |||||
</project> |
@@ -0,0 +1,129 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 2002 The Apache Software Foundation. All rights | |||||
* reserved. | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without | |||||
* modification, are permitted provided that the following conditions | |||||
* are met: | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright | |||||
* notice, this list of conditions and the following disclaimer. | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright | |||||
* notice, this list of conditions and the following disclaimer in | |||||
* the documentation and/or other materials provided with the | |||||
* distribution. | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if | |||||
* any, must include the following acknowlegement: | |||||
* "This product includes software developed by the | |||||
* Apache Software Foundation (http://www.apache.org/)." | |||||
* Alternately, this acknowlegement may appear in the software itself, | |||||
* if and wherever such third-party acknowlegements normally appear. | |||||
* | |||||
* 4. The names "The Jakarta Project", "Ant", and "Apache Software | |||||
* Foundation" must not be used to endorse or promote products derived | |||||
* from this software without prior written permission. For written | |||||
* permission, please contact apache@apache.org. | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache" | |||||
* nor may "Apache" appear in their names without prior written | |||||
* permission of the Apache Group. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED | |||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR | |||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | |||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | |||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||||
* SUCH DAMAGE. | |||||
* ==================================================================== | |||||
* | |||||
* This software consists of voluntary contributions made by many | |||||
* individuals on behalf of the Apache Software Foundation. For more | |||||
* information on the Apache Software Foundation, please see | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.tools.ant.taskdefs; | |||||
import java.io.File; | |||||
import org.apache.tools.ant.BuildException; | |||||
import org.apache.tools.ant.Task; | |||||
/** | |||||
* Task to determine the basename of a specified file, optionally minus a | |||||
* specified suffix. | |||||
* | |||||
* This task can accept the following attributes: | |||||
* <ul> | |||||
* <li>file | |||||
* <li>property | |||||
* <li>suffix | |||||
* </ul> | |||||
* The <b>file</b> and <b>property</b> attributes are required. The | |||||
* <b>suffix</b> attribute can be specified either with or without | |||||
* the ".", and the result will be the same (ie., the | |||||
* returned file name will be minus the .suffix). | |||||
* <p> | |||||
* When this task executes, it will set the specified property to the | |||||
* value of the last element in the specified file. If file is a | |||||
* directory, the basename will be the last directory element. If file | |||||
* is a full-path filename, the basename will be the simple file name. | |||||
* If a suffix is specified, and the specified file ends in that suffix, | |||||
* the basename will be the simple file name without the suffix. | |||||
* | |||||
* @author Diane Holt <a href="mailto:holtdl@apache.org">holtdl@apache.org</a> | |||||
* | |||||
* @version $Revision$ | |||||
* | |||||
* @ant.task category="property" | |||||
*/ | |||||
public class Basename extends Task { | |||||
private File file; | |||||
private String property; | |||||
private String suffix; | |||||
// The setter for the `file' attribute | |||||
public void setFile(File file) { | |||||
this.file = file; | |||||
} | |||||
// The setter for the `property' attribute | |||||
public void setProperty(String property) { | |||||
this.property = property ; | |||||
} | |||||
// The setter for the `suffix' attribute | |||||
public void setSuffix(String suffix) { | |||||
this.suffix = suffix; | |||||
} | |||||
// The method executing the task | |||||
public void execute() throws BuildException { | |||||
String value; | |||||
if (property == null) { | |||||
throw new BuildException("property attribute required", location); | |||||
} | |||||
if (file == null) { | |||||
throw new BuildException("file attribute required", location); | |||||
} else { | |||||
value = file.getName(); | |||||
if (suffix != null && value.endsWith(suffix)) { | |||||
int pos = value.indexOf('.'); | |||||
value = value.substring(0, pos); | |||||
} | |||||
this.project.setProperty(property, value); | |||||
} | |||||
} | |||||
} | |||||
@@ -0,0 +1,111 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 2002 The Apache Software Foundation. All rights | |||||
* reserved. | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without | |||||
* modification, are permitted provided that the following conditions | |||||
* are met: | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright | |||||
* notice, this list of conditions and the following disclaimer. | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright | |||||
* notice, this list of conditions and the following disclaimer in | |||||
* the documentation and/or other materials provided with the | |||||
* distribution. | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if | |||||
* any, must include the following acknowlegement: | |||||
* "This product includes software developed by the | |||||
* Apache Software Foundation (http://www.apache.org/)." | |||||
* Alternately, this acknowlegement may appear in the software itself, | |||||
* if and wherever such third-party acknowlegements normally appear. | |||||
* | |||||
* 4. The names "The Jakarta Project", "Ant", and "Apache Software | |||||
* Foundation" must not be used to endorse or promote products derived | |||||
* from this software without prior written permission. For written | |||||
* permission, please contact apache@apache.org. | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache" | |||||
* nor may "Apache" appear in their names without prior written | |||||
* permission of the Apache Group. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED | |||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR | |||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | |||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | |||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||||
* SUCH DAMAGE. | |||||
* ==================================================================== | |||||
* | |||||
* This software consists of voluntary contributions made by many | |||||
* individuals on behalf of the Apache Software Foundation. For more | |||||
* information on the Apache Software Foundation, please see | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.tools.ant.taskdefs; | |||||
import java.io.File; | |||||
import org.apache.tools.ant.BuildException; | |||||
import org.apache.tools.ant.Task; | |||||
/** | |||||
* Task to determine the directory name of the specified file. | |||||
* | |||||
* This task can accept the following attributes: | |||||
* <ul> | |||||
* <li>file | |||||
* <li>property | |||||
* </ul> | |||||
* Both <b>file</b> and <b>property</b> are required. | |||||
* <p> | |||||
* When this task executes, it will set the specified property to the | |||||
* value of the specified file up to, but not including, the last path | |||||
* element. If file is a file, the directory will be the current | |||||
* directory. | |||||
* | |||||
* @author Diane Holt <a href="mailto:holtdl@apache.org">holtdl@apache.org</a> | |||||
* | |||||
* @version $Revision$ | |||||
* | |||||
* @ant.task category="property" | |||||
*/ | |||||
public class Dirname extends Task { | |||||
private File file; | |||||
private String property; | |||||
// The setter for the `file' attribute | |||||
public void setFile(File file) { | |||||
this.file = file; | |||||
} | |||||
// The setter for the `property' attribute | |||||
public void setProperty(String property) { | |||||
this.property = property ; | |||||
} | |||||
// The method executing the task | |||||
public void execute() throws BuildException { | |||||
if (property == null) { | |||||
throw new BuildException("property attribute required", location); | |||||
} | |||||
if (file == null) { | |||||
throw new BuildException("file attribute required", location); | |||||
} else { | |||||
String value = file.getParent(); | |||||
this.project.setProperty(property, value); | |||||
} | |||||
} | |||||
} | |||||
@@ -61,6 +61,8 @@ input=org.apache.tools.ant.taskdefs.Input | |||||
loadfile=org.apache.tools.ant.taskdefs.LoadFile | loadfile=org.apache.tools.ant.taskdefs.LoadFile | ||||
manifest=org.apache.tools.ant.taskdefs.Manifest | manifest=org.apache.tools.ant.taskdefs.Manifest | ||||
loadproperties=org.apache.tools.ant.taskdefs.LoadProperties | loadproperties=org.apache.tools.ant.taskdefs.LoadProperties | ||||
basename=org.apache.tools.ant.taskdefs.Basename | |||||
dirname=org.apache.tools.ant.taskdefs.Dirname | |||||
# optional tasks | # optional tasks | ||||
script=org.apache.tools.ant.taskdefs.optional.Script | script=org.apache.tools.ant.taskdefs.optional.Script | ||||
@@ -0,0 +1,103 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 2000-2001 The Apache Software Foundation. All rights | |||||
* reserved. | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without | |||||
* modification, are permitted provided that the following conditions | |||||
* are met: | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright | |||||
* notice, this list of conditions and the following disclaimer. | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright | |||||
* notice, this list of conditions and the following disclaimer in | |||||
* the documentation and/or other materials provided with the | |||||
* distribution. | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if | |||||
* any, must include the following acknowlegement: | |||||
* "This product includes software developed by the | |||||
* Apache Software Foundation (http://www.apache.org/)." | |||||
* Alternately, this acknowlegement may appear in the software itself, | |||||
* if and wherever such third-party acknowlegements normally appear. | |||||
* | |||||
* 4. The names "The Jakarta Project", "Ant", and "Apache Software | |||||
* Foundation" must not be used to endorse or promote products derived | |||||
* from this software without prior written permission. For written | |||||
* permission, please contact apache@apache.org. | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache" | |||||
* nor may "Apache" appear in their names without prior written | |||||
* permission of the Apache Group. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED | |||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR | |||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | |||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | |||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||||
* SUCH DAMAGE. | |||||
* ==================================================================== | |||||
* | |||||
* This software consists of voluntary contributions made by many | |||||
* individuals on behalf of the Apache Software Foundation. For more | |||||
* information on the Apache Software Foundation, please see | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.tools.ant.taskdefs; | |||||
import java.io.File; | |||||
import org.apache.tools.ant.BuildFileTest; | |||||
/** | |||||
* @author Diane Holt <holtdl@apache.org> | |||||
*/ | |||||
public class BasenameTest extends BuildFileTest { | |||||
public BasenameTest(String name) { | |||||
super(name); | |||||
} | |||||
public void setUp() { | |||||
configureProject("src/etc/testcases/taskdefs/basename.xml"); | |||||
} | |||||
public void test1() { | |||||
expectBuildException("test1", "required attribute missing"); | |||||
} | |||||
public void test2() { | |||||
expectBuildException("test2", "required attribute missing"); | |||||
} | |||||
public void test3() { | |||||
expectBuildException("test3", "required attribute missing"); | |||||
} | |||||
public void test4() { | |||||
executeTarget("test4"); | |||||
String expected = "foo.txt"; | |||||
String checkprop = project.getProperty("file.w.suf"); | |||||
if (!checkprop.equals(expected)) { | |||||
fail("basename failed"); | |||||
} | |||||
} | |||||
public void test5() { | |||||
executeTarget("test5"); | |||||
String expected = "foo"; | |||||
String checkprop = project.getProperty("file.wo.suf"); | |||||
if (!checkprop.equals(expected)) { | |||||
fail("basename failed"); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,104 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 2000-2001 The Apache Software Foundation. All rights | |||||
* reserved. | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without | |||||
* modification, are permitted provided that the following conditions | |||||
* are met: | |||||
* | |||||
* 1. Redistributions of source code must retain the above copyright | |||||
* notice, this list of conditions and the following disclaimer. | |||||
* | |||||
* 2. Redistributions in binary form must reproduce the above copyright | |||||
* notice, this list of conditions and the following disclaimer in | |||||
* the documentation and/or other materials provided with the | |||||
* distribution. | |||||
* | |||||
* 3. The end-user documentation included with the redistribution, if | |||||
* any, must include the following acknowlegement: | |||||
* "This product includes software developed by the | |||||
* Apache Software Foundation (http://www.apache.org/)." | |||||
* Alternately, this acknowlegement may appear in the software itself, | |||||
* if and wherever such third-party acknowlegements normally appear. | |||||
* | |||||
* 4. The names "The Jakarta Project", "Ant", and "Apache Software | |||||
* Foundation" must not be used to endorse or promote products derived | |||||
* from this software without prior written permission. For written | |||||
* permission, please contact apache@apache.org. | |||||
* | |||||
* 5. Products derived from this software may not be called "Apache" | |||||
* nor may "Apache" appear in their names without prior written | |||||
* permission of the Apache Group. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED | |||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |||||
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR | |||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | |||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | |||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||||
* SUCH DAMAGE. | |||||
* ==================================================================== | |||||
* | |||||
* This software consists of voluntary contributions made by many | |||||
* individuals on behalf of the Apache Software Foundation. For more | |||||
* information on the Apache Software Foundation, please see | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.tools.ant.taskdefs; | |||||
import java.io.File; | |||||
import org.apache.tools.ant.BuildFileTest; | |||||
/** | |||||
* @author Diane Holt <holtdl@apache.org> | |||||
*/ | |||||
public class DirnameTest extends BuildFileTest { | |||||
public DirnameTest(String name) { | |||||
super(name); | |||||
} | |||||
public void setUp() { | |||||
configureProject("src/etc/testcases/taskdefs/dirname.xml"); | |||||
} | |||||
public void test1() { | |||||
expectBuildException("test1", "required attribute missing"); | |||||
} | |||||
public void test2() { | |||||
expectBuildException("test2", "required attribute missing"); | |||||
} | |||||
public void test3() { | |||||
expectBuildException("test3", "required attribute missing"); | |||||
} | |||||
public void test4() { | |||||
executeTarget("test4"); | |||||
String filesep = System.getProperty("file.separator"); | |||||
String expected = filesep + "usr" + filesep + "local"; | |||||
String checkprop = project.getProperty("local.dir"); | |||||
if (!checkprop.equals(expected)) { | |||||
fail("dirname failed"); | |||||
} | |||||
} | |||||
public void test5() { | |||||
executeTarget("test5"); | |||||
String expected = project.getProperty("basedir"); | |||||
String checkprop = project.getProperty("base.dir"); | |||||
if (!checkprop.equals(expected)) { | |||||
fail("dirname failed"); | |||||
} | |||||
} | |||||
} |