| <?xml version="1.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 |
| |
| https://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. |
| --> |
| <project default="antunit" xmlns:au="antlib:org.apache.ant.antunit"> |
| <import file="../antunit-base.xml" /> |
| |
| <target name="test-dir-char"> |
| <pathconvert property="def|ghi" dirsep="|"> |
| <map from="${basedir}/abc/" to=''/> |
| <path location="abc/def/ghi"/> |
| </pathconvert> |
| <au:assertTrue> |
| <equals arg1="${def|ghi}" arg2="def|ghi"/> |
| </au:assertTrue> |
| </target> |
| |
| <path id="testpath"> |
| <pathelement path="${ant.file}" /> |
| </path> |
| |
| <basename property="basename" file="${ant.file}" /> |
| |
| <target name="testmap"> |
| <pathconvert property="result" dirsep="#"> |
| <path refid="testpath" /> |
| <map from="${basedir}" to="test" /> |
| </pathconvert> |
| <au:assertPropertyEquals name="result" value="test#${basename}" /> |
| </target> |
| |
| <target name="testmapper"> |
| <pathconvert property="result" dirsep="#"> |
| <path refid="testpath" /> |
| <mapper type="glob" from="${basedir}*" to="test*" /> |
| </pathconvert> |
| <au:assertPropertyEquals name="result" value="test#${basename}" /> |
| </target> |
| |
| <target name="testnotargetos"> |
| <pathconvert property="result" refid="testpath" /> |
| <au:assertPropertyEquals name="result" value="${ant.file}" /> |
| </target> |
| |
| <target name="test-nonmatching-mapper" description="test for bug fix bz-62076"> |
| <mkdir dir="${output}/mapper-source-dir"/> |
| <!-- create 2 files, one of which will be matched/included by the globmapper |
| later in this target --> |
| <touch file="${output}/mapper-source-dir/file1.txt"/> |
| <touch file="${output}/mapper-source-dir/file2.log"/> |
| |
| <pathconvert property="pc"> |
| <mappedresources> |
| <fileset dir="${output}/mapper-source-dir"/> |
| <!-- we intentionally exclude one of the files --> |
| <globmapper from="*.log" to="*.txt"/> |
| </mappedresources> |
| </pathconvert> |
| |
| <au:assertPropertyEquals name="pc" value="file2.txt" /> |
| </target> |
| |
| <target name="testRef"> |
| <pathconvert property="result" refid="testpath" /> |
| <au:assertPropertyEquals name="result" value="${ant.file}" /> |
| </target> |
| |
| <target name="testConsole"> |
| <pathconvert refid="testpath" /> |
| <au:assertLogContains text="${ant.file}" /> |
| </target> |
| |
| <target name="testPreserveDuplicates"> |
| <pathconvert property="result" pathsep=") " preserveduplicates="true"> |
| <resources> |
| <path refid="testpath" /> |
| <path refid="testpath" /> |
| </resources> |
| </pathconvert> |
| <au:assertPropertyEquals name="result" value="${ant.file}) ${ant.file}" /> |
| </target> |
| |
| <target name="testDirsep"> |
| <pathconvert property="result" dirsep="|"> |
| <file file="foo/bar/baz" /> |
| <globmapper from="${basedir}/*" to="*" handledirsep="true" /> |
| </pathconvert> |
| <au:assertPropertyEquals name="result" value="foo|bar|baz" /> |
| </target> |
| |
| <target name="testNoSetonempty"> |
| <pathconvert property="result" setonempty="false"> |
| <resources /> |
| </pathconvert> |
| <au:assertFalse> |
| <isset property="result" /> |
| </au:assertFalse> |
| </target> |
| |
| <target name="testDest"> |
| <au:assertFileDoesntExist file="${output}/destfile" /> |
| <pathconvert dest="${output}/destfile"> |
| <file file="${ant.file}" /> |
| </pathconvert> |
| <au:assertFileExists file="${output}/destfile" /> |
| <au:assertTrue> |
| <resourcesmatch astext="true"> |
| <file file="${output}/destfile" /> |
| <string value="${ant.file}" /> |
| </resourcesmatch> |
| </au:assertTrue> |
| </target> |
| |
| <target name="testDestPropertyMutex"> |
| <au:expectfailure message="@property and @dest are mutually exclusive"> |
| <pathconvert property="someprop" dest="somefile" refid="testpath" /> |
| </au:expectfailure> |
| </target> |
| |
| <target name="testUntrimmedOutput"> |
| <pathconvert property="result" dirsep="|"> |
| <file file="foo" /> |
| <globmapper from="${basedir}/*" to=" * " handledirsep="true" /> |
| </pathconvert> |
| <au:assertPropertyEquals name="result" value=" foo " /> |
| </target> |
| |
| </project> |