| @@ -0,0 +1,43 @@ | |||
| *.bat eol=crlf | |||
| *.bz2 binary | |||
| *.cmd eol=crlf | |||
| *.css text | |||
| *.dtd text | |||
| *.g text | |||
| *.gif binary | |||
| *.gz binary | |||
| *.html text diff=html | |||
| *.ico binary | |||
| *.inc text | |||
| *.jar binary | |||
| *.jpg binary | |||
| *.jsp text | |||
| *.md text | |||
| *.md5 text | |||
| *.md5sum text | |||
| *.mf text | |||
| *.pl text diff=perl | |||
| *.properties text | |||
| *.py text diff=python | |||
| *.result text | |||
| *.sample text | |||
| *.sh eol=lf | |||
| *.tar binary | |||
| *.test text | |||
| *.txt text | |||
| *.wxs text | |||
| *.xml text | |||
| *.xsd text | |||
| *.xsl text | |||
| *.zip binary | |||
| .gitattributes text | |||
| .gitignore text | |||
| CONTRIBUTORS text | |||
| INSTALL text | |||
| KEY text | |||
| LICENSE text | |||
| NOTICE text | |||
| README text | |||
| ReleaseInstructions text | |||
| STATUS text | |||
| WHATSNEW text | |||
| @@ -1,29 +1,29 @@ | |||
| *.el | |||
| *.ipr | |||
| *.iws | |||
| *.pif | |||
| .ant.properties | |||
| .classpath | |||
| .project | |||
| .settings | |||
| bin | |||
| apache-ant-1.* | |||
| bootstrap | |||
| build | |||
| dist | |||
| distribution | |||
| java-repository | |||
| patch.tar.gz | |||
| patch.txt | |||
| target | |||
| velocity.log* | |||
| lib/optional/*.jar | |||
| src/tests/antunit/core/output | |||
| .idea | |||
| *.iml | |||
| /src/GPATH | |||
| /src/GRTAGS | |||
| /src/GSYMS | |||
| /src/GTAGS | |||
| /log.xml | |||
| lib/optional/license.txt | |||
| *.el | |||
| *.ipr | |||
| *.iws | |||
| *.pif | |||
| .ant.properties | |||
| .classpath | |||
| .project | |||
| .settings | |||
| bin | |||
| apache-ant-1.* | |||
| bootstrap | |||
| build | |||
| dist | |||
| distribution | |||
| java-repository | |||
| patch.tar.gz | |||
| patch.txt | |||
| target | |||
| velocity.log* | |||
| lib/optional/*.jar | |||
| src/tests/antunit/core/output | |||
| .idea | |||
| *.iml | |||
| /src/GPATH | |||
| /src/GRTAGS | |||
| /src/GSYMS | |||
| /src/GTAGS | |||
| /log.xml | |||
| lib/optional/license.txt | |||
| @@ -1,71 +1,71 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <!-- | |||
| 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. | |||
| --> | |||
| <!-- | |||
| This POM has been created manually by the Ant Development Team. | |||
| Please contact us if you are not satisfied with the data contained in this POM. | |||
| URL : http://ant.apache.org | |||
| --> | |||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |||
| <parent> | |||
| <groupId>org.apache.ant</groupId> | |||
| <artifactId>ant-parent</artifactId> | |||
| <relativePath>../pom.xml</relativePath> | |||
| <version>1.9.5-SNAPSHOT</version> | |||
| </parent> | |||
| <modelVersion>4.0.0</modelVersion> | |||
| <url>http://ant.apache.org/</url> | |||
| <groupId>org.apache.ant</groupId> | |||
| <artifactId>ant-junit4</artifactId> | |||
| <version>1.9.5-SNAPSHOT</version> | |||
| <name>Apache Ant + JUnit 4</name> | |||
| <description>contains JUnit 4.x support</description> | |||
| <dependencies> | |||
| <dependency> | |||
| <groupId>org.apache.ant</groupId> | |||
| <artifactId>ant</artifactId> | |||
| <version>1.9.5-SNAPSHOT</version> | |||
| <scope>compile</scope> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>junit</groupId> | |||
| <artifactId>junit</artifactId> | |||
| <version>4.11</version> | |||
| <scope>compile</scope> | |||
| </dependency> | |||
| </dependencies> | |||
| <build> | |||
| <plugins> | |||
| <plugin> | |||
| <groupId>org.apache.maven.plugins</groupId> | |||
| <artifactId>maven-compiler-plugin</artifactId> | |||
| <configuration> | |||
| <includes> | |||
| <include>org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter*</include> | |||
| <include>org/apache/tools/ant/taskdefs/optional/junit/CustomJUnit4TestAdapterCache*</include> | |||
| </includes> | |||
| </configuration> | |||
| </plugin> | |||
| </plugins> | |||
| <sourceDirectory>../../../../src/main</sourceDirectory> | |||
| <testSourceDirectory>../../../../src/testcases</testSourceDirectory> | |||
| <outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory> | |||
| <testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory> | |||
| <directory>../../../../target/${project.artifactId}</directory> | |||
| </build> | |||
| </project> | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <!-- | |||
| 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. | |||
| --> | |||
| <!-- | |||
| This POM has been created manually by the Ant Development Team. | |||
| Please contact us if you are not satisfied with the data contained in this POM. | |||
| URL : http://ant.apache.org | |||
| --> | |||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |||
| <parent> | |||
| <groupId>org.apache.ant</groupId> | |||
| <artifactId>ant-parent</artifactId> | |||
| <relativePath>../pom.xml</relativePath> | |||
| <version>1.9.5-SNAPSHOT</version> | |||
| </parent> | |||
| <modelVersion>4.0.0</modelVersion> | |||
| <url>http://ant.apache.org/</url> | |||
| <groupId>org.apache.ant</groupId> | |||
| <artifactId>ant-junit4</artifactId> | |||
| <version>1.9.5-SNAPSHOT</version> | |||
| <name>Apache Ant + JUnit 4</name> | |||
| <description>contains JUnit 4.x support</description> | |||
| <dependencies> | |||
| <dependency> | |||
| <groupId>org.apache.ant</groupId> | |||
| <artifactId>ant</artifactId> | |||
| <version>1.9.5-SNAPSHOT</version> | |||
| <scope>compile</scope> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>junit</groupId> | |||
| <artifactId>junit</artifactId> | |||
| <version>4.11</version> | |||
| <scope>compile</scope> | |||
| </dependency> | |||
| </dependencies> | |||
| <build> | |||
| <plugins> | |||
| <plugin> | |||
| <groupId>org.apache.maven.plugins</groupId> | |||
| <artifactId>maven-compiler-plugin</artifactId> | |||
| <configuration> | |||
| <includes> | |||
| <include>org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter*</include> | |||
| <include>org/apache/tools/ant/taskdefs/optional/junit/CustomJUnit4TestAdapterCache*</include> | |||
| </includes> | |||
| </configuration> | |||
| </plugin> | |||
| </plugins> | |||
| <sourceDirectory>../../../../src/main</sourceDirectory> | |||
| <testSourceDirectory>../../../../src/testcases</testSourceDirectory> | |||
| <outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory> | |||
| <testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory> | |||
| <directory>../../../../target/${project.artifactId}</directory> | |||
| </build> | |||
| </project> | |||
| @@ -0,0 +1 @@ | |||
| input.stdin text | |||
| @@ -1,9 +1,9 @@ | |||
| #hebrew shalom olam (hello world) | |||
| text.hebrew=\u05e9\u05dc\u05d5\u05dd \u05e2\u05d5\u05dc\u05dd | |||
| #goethe gingko biloba | |||
| text.german.1=Sp\u00fcrst du nicht an meinen Liedern, | |||
| text.german.2=Da\u00df ich eins und doppelt bin ? | |||
| # Francois Villon Ballade des Pendus | |||
| text.french=Fr\u00e8res humains qui apr\u00e8s nous vivez | |||
| # Usual IT example | |||
| text.basic.latin=Hello World | |||
| #hebrew shalom olam (hello world) | |||
| text.hebrew=\u05e9\u05dc\u05d5\u05dd \u05e2\u05d5\u05dc\u05dd | |||
| #goethe gingko biloba | |||
| text.german.1=Sp\u00fcrst du nicht an meinen Liedern, | |||
| text.german.2=Da\u00df ich eins und doppelt bin ? | |||
| # Francois Villon Ballade des Pendus | |||
| text.french=Fr\u00e8res humains qui apr\u00e8s nous vivez | |||
| # Usual IT example | |||
| text.basic.latin=Hello World | |||
| @@ -1,9 +1,9 @@ | |||
| #hebrew shalom olam (hello world) | |||
| text.hebrew=שלום עולם | |||
| #goethe gingko biloba | |||
| text.german.1=Spürst du nicht an meinen Liedern, | |||
| text.german.2=Daß ich eins und doppelt bin ? | |||
| # Francois Villon Ballade des Pendus | |||
| text.french=Frères humains qui après nous vivez | |||
| # Usual IT example | |||
| text.basic.latin=Hello World | |||
| #hebrew shalom olam (hello world) | |||
| text.hebrew=שלום עולם | |||
| #goethe gingko biloba | |||
| text.german.1=Spürst du nicht an meinen Liedern, | |||
| text.german.2=Daß ich eins und doppelt bin ? | |||
| # Francois Villon Ballade des Pendus | |||
| text.french=Frères humains qui après nous vivez | |||
| # Usual IT example | |||
| text.basic.latin=Hello World | |||
| @@ -1,19 +1,19 @@ | |||
| <project name="blabla" default="doit"> | |||
| <target name="blabla"> | |||
| <exec executable="sh"> | |||
| <arg value="blabla.sh" /> | |||
| </exec> | |||
| </target> | |||
| <target name="doit"> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| </target> | |||
| </project> | |||
| <project name="blabla" default="doit"> | |||
| <target name="blabla"> | |||
| <exec executable="sh"> | |||
| <arg value="blabla.sh" /> | |||
| </exec> | |||
| </target> | |||
| <target name="doit"> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| <antcall target="blabla"/> | |||
| </target> | |||
| </project> | |||
| @@ -0,0 +1,2 @@ | |||
| ant eol=lf | |||
| anrRun eol=lf | |||
| @@ -0,0 +1 @@ | |||
| utf-16.* binary | |||
| @@ -1,125 +1,125 @@ | |||
| <?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 | |||
| 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. | |||
| --> | |||
| <project name="get-test" default="antunit" xmlns:au="antlib:org.apache.ant.antunit"> | |||
| <import file="../antunit-base.xml" /> | |||
| <property name="location" value="http://ant.apache.org/webtest/gettest" /> | |||
| <target name="setUp"> | |||
| <mkdir dir="${output}" /> | |||
| </target> | |||
| <target name="testSeeOtherRedirect"> | |||
| <get src="${location}/other.txt" dest="${output}/other.tmp"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/other.tmp" /> | |||
| <contains text="seeother redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="other.txt moved to http" /> | |||
| </target> | |||
| <target name="testPermanentRedirect"> | |||
| <get src="${location}/permanent.txt" dest="${output}/permanent.tmp"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/permanent.tmp" /> | |||
| <contains text="permanent redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="permanent.txt permanently moved to http" /> | |||
| </target> | |||
| <target name="testTemporaryRedirect"> | |||
| <get src="${location}/temp.txt" dest="${output}/temp.txt"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/temp.txt" /> | |||
| <contains text="temporary redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="temp.txt moved to http" /> | |||
| </target> | |||
| <target name="testStatusCode307Redirect"> | |||
| <get src="${location}/307.txt" dest="${output}/307.txt"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/307.txt" /> | |||
| <contains text="307 status code redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="307.txt moved to http" /> | |||
| </target> | |||
| <target name="test5LevelsOfRedirect"> | |||
| <get src="${location}/redir5.txt" dest="${output}/redir5.tmp"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/redir5.tmp" /> | |||
| <contains text="5 levels of redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="redir5.txt moved to http" /> | |||
| <au:assertLogContains text="redir5-4.txt moved to http" /> | |||
| </target> | |||
| <target name="testInfiniteRedirect"> | |||
| <au:expectfailure expectedmessage="More than 25 times redirected, giving up"> | |||
| <get src="${location}/infinite.txt" dest="${output}/infinite.tmp"/> | |||
| </au:expectfailure> | |||
| </target> | |||
| <target name="testNestedResources"> | |||
| <get dest="${output}/downloads"> | |||
| <url url="http://ant.apache.org/index.html"/> | |||
| <url url="http://ant.apache.org/faq.html"/> | |||
| </get> | |||
| <au:assertFileExists file="${output}/downloads/index.html"/> | |||
| <au:assertFileExists file="${output}/downloads/faq.html"/> | |||
| </target> | |||
| <target name="XtestRelativeRedirect"> | |||
| <get src="${location}/local.cgi" dest="${output}/other.tmp"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/other.tmp" /> | |||
| <contains text="local redirect succeeded"/> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="local.cgi moved to http" /> | |||
| </target> | |||
| </project> | |||
| <?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 | |||
| 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. | |||
| --> | |||
| <project name="get-test" default="antunit" xmlns:au="antlib:org.apache.ant.antunit"> | |||
| <import file="../antunit-base.xml" /> | |||
| <property name="location" value="http://ant.apache.org/webtest/gettest" /> | |||
| <target name="setUp"> | |||
| <mkdir dir="${output}" /> | |||
| </target> | |||
| <target name="testSeeOtherRedirect"> | |||
| <get src="${location}/other.txt" dest="${output}/other.tmp"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/other.tmp" /> | |||
| <contains text="seeother redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="other.txt moved to http" /> | |||
| </target> | |||
| <target name="testPermanentRedirect"> | |||
| <get src="${location}/permanent.txt" dest="${output}/permanent.tmp"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/permanent.tmp" /> | |||
| <contains text="permanent redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="permanent.txt permanently moved to http" /> | |||
| </target> | |||
| <target name="testTemporaryRedirect"> | |||
| <get src="${location}/temp.txt" dest="${output}/temp.txt"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/temp.txt" /> | |||
| <contains text="temporary redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="temp.txt moved to http" /> | |||
| </target> | |||
| <target name="testStatusCode307Redirect"> | |||
| <get src="${location}/307.txt" dest="${output}/307.txt"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/307.txt" /> | |||
| <contains text="307 status code redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="307.txt moved to http" /> | |||
| </target> | |||
| <target name="test5LevelsOfRedirect"> | |||
| <get src="${location}/redir5.txt" dest="${output}/redir5.tmp"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/redir5.tmp" /> | |||
| <contains text="5 levels of redirect succeeded" /> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="redir5.txt moved to http" /> | |||
| <au:assertLogContains text="redir5-4.txt moved to http" /> | |||
| </target> | |||
| <target name="testInfiniteRedirect"> | |||
| <au:expectfailure expectedmessage="More than 25 times redirected, giving up"> | |||
| <get src="${location}/infinite.txt" dest="${output}/infinite.tmp"/> | |||
| </au:expectfailure> | |||
| </target> | |||
| <target name="testNestedResources"> | |||
| <get dest="${output}/downloads"> | |||
| <url url="http://ant.apache.org/index.html"/> | |||
| <url url="http://ant.apache.org/faq.html"/> | |||
| </get> | |||
| <au:assertFileExists file="${output}/downloads/index.html"/> | |||
| <au:assertFileExists file="${output}/downloads/faq.html"/> | |||
| </target> | |||
| <target name="XtestRelativeRedirect"> | |||
| <get src="${location}/local.cgi" dest="${output}/other.tmp"/> | |||
| <au:assertTrue> | |||
| <resourcecount count="1"> | |||
| <restrict> | |||
| <file file="${output}/other.tmp" /> | |||
| <contains text="local redirect succeeded"/> | |||
| </restrict> | |||
| </resourcecount> | |||
| </au:assertTrue> | |||
| <au:assertLogContains text="local.cgi moved to http" /> | |||
| </target> | |||
| </project> | |||
| @@ -1,44 +1,44 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <!-- | |||
| 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. | |||
| --> | |||
| <project default="antunit" xmlns:au="antlib:org.apache.ant.antunit"> | |||
| <import file="../antunit-base.xml" /> | |||
| <target name="-fileResourceSetup"> | |||
| <mkdir dir="${output}"/> | |||
| </target> | |||
| <target name="testInternationalText" depends="-fileResourceSetup" | |||
| description="https://issues.apache.org/bugzilla/show_bug.cgi?id=50515"> | |||
| <property name="line1" value="萬 利 食 品 批 發 公 司" /> | |||
| <property name="line2" value="TEL: (123)123-1234" /> | |||
| <propertyfile file="${output}/test.properties"> | |||
| <entry key="line1" value="${line1}" /> | |||
| <entry key="line2" value="${line2}" /> | |||
| </propertyfile> | |||
| <loadproperties prefix="rereading" srcfile="${output}/test.properties"/> | |||
| <au:assertTrue message="${line2}"> | |||
| <equals arg1="${line2}" arg2="${rereading.line2}" /> | |||
| </au:assertTrue> | |||
| <au:assertTrue message="${line1}"> | |||
| <equals arg1="${line1}" arg2="${rereading.line1}" /> | |||
| </au:assertTrue> | |||
| </target> | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <!-- | |||
| 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. | |||
| --> | |||
| <project default="antunit" xmlns:au="antlib:org.apache.ant.antunit"> | |||
| <import file="../antunit-base.xml" /> | |||
| <target name="-fileResourceSetup"> | |||
| <mkdir dir="${output}"/> | |||
| </target> | |||
| <target name="testInternationalText" depends="-fileResourceSetup" | |||
| description="https://issues.apache.org/bugzilla/show_bug.cgi?id=50515"> | |||
| <property name="line1" value="萬 利 食 品 批 發 公 司" /> | |||
| <property name="line2" value="TEL: (123)123-1234" /> | |||
| <propertyfile file="${output}/test.properties"> | |||
| <entry key="line1" value="${line1}" /> | |||
| <entry key="line2" value="${line2}" /> | |||
| </propertyfile> | |||
| <loadproperties prefix="rereading" srcfile="${output}/test.properties"/> | |||
| <au:assertTrue message="${line2}"> | |||
| <equals arg1="${line2}" arg2="${rereading.line2}" /> | |||
| </au:assertTrue> | |||
| <au:assertTrue message="${line1}"> | |||
| <equals arg1="${line1}" arg2="${rereading.line1}" /> | |||
| </au:assertTrue> | |||
| </target> | |||
| </project> | |||
| @@ -1,96 +1,96 @@ | |||
| A DESCRIPTION OF THE SELECTOR TEST FRAMEWORK | |||
| When writing tests for selectors, I found that I wanted to have some | |||
| standard way of working with a set of files and testing whether one or | |||
| another of them was selected. To that end, I created a base class called | |||
| BaseSelectorTest that does most of the heavy lifting. Of course, you can | |||
| test your selectors any way you want, but if you want to reuse this code, | |||
| read on. | |||
| What BaseSelectorTest does is use an ant build file | |||
| "src/etc/testcases/types/selector.xml" to copy a tree of files out of | |||
| "src/etc/testcases/taskdefs/expected" into a "selectortest" directories. | |||
| Then it takes a list of 12 of the files and directories in this tree, and | |||
| applies whatever selector you pass in to each one. It passes back to your | |||
| test a 12 character long string indicating which of the 12 files and | |||
| directories was selected, using 'T' for selected and 'F' for not selected. | |||
| In the Test class for your selector, you override the getInstance() method | |||
| to create your own type of selector, and set the elements of your selector | |||
| a variety of ways to ensure that the string of T's and F's returned when | |||
| the selector is applied to those 12 files is correct. | |||
| So, for example, DepthSelectorTest.java extends BaseSelectorTest and has | |||
| the following code: | |||
| public BaseSelector getInstance() { | |||
| return new DepthSelector(); | |||
| } | |||
| public void testSelectionBehaviour() { | |||
| DepthSelector s; | |||
| String results; | |||
| try { | |||
| makeBed(); | |||
| s = (DepthSelector)getInstance(); | |||
| s.setMin(20); | |||
| s.setMax(25); | |||
| results = selectionString(s); | |||
| assertEquals("FFFFFFFFFFFF", results); | |||
| s = (DepthSelector)getInstance(); | |||
| s.setMin(0); | |||
| results = selectionString(s); | |||
| assertEquals("TTTTTTTTTTTT", results); | |||
| s = (DepthSelector)getInstance(); | |||
| s.setMin(1); | |||
| results = selectionString(s); | |||
| assertEquals("FFFFFTTTTTTT", results); | |||
| The first test says that none of the 12 files or directories will match if | |||
| the depth range for the selector is between 20 and 25 (that would be one | |||
| deep directory tree!). The second says that all files and directories | |||
| match if the minimum depth is set to 0 and the maximum isn't specified. The | |||
| third test says that if the minumum depth is 1, the first 5 entries in the | |||
| list of 12 will not be selected and the rest will. | |||
| You can find the 12 files and directories that are tested for selection in | |||
| the BaseSelectorTest class. I used a fixed list so that if someone added | |||
| new files to the src/etc/testcases/types directory it wouldn't break my | |||
| tests: | |||
| protected String[] filenames = {".","asf-logo.gif.md5","asf- | |||
| logo.gif.bz2", | |||
| "asf-logo.gif.gz","copy.filterset.filtered","zip/asf- | |||
| logo.gif.zip", | |||
| "tar/asf-logo.gif.tar","tar/asf-logo-huge.tar.gz", | |||
| "tar/gz/asf-logo.gif.tar.gz","tar/bz2/asf-logo.gif.tar.bz2", | |||
| "tar/bz2/asf-logo-huge.tar.bz2","tar/bz2"}; | |||
| If you wish to use this set of files and directories to test your selector, | |||
| you can reuse the BaseSelectorTest with no change to it. | |||
| You may find you need to alter the build file so that you get some | |||
| variation in the files that your selector can work with. Most of the core | |||
| selectors have required that kind of modification. If you do that, make | |||
| sure that it doesn't alter the output strings on the other selector test, | |||
| or if it does that you update their expected return results. | |||
| You may also want to alter the set of files you look at in a particular | |||
| selector test. Since the filelist in BaseSelectorTest is protected, you | |||
| should be able to override it as you need to. Or you can alter the fileset | |||
| in BaseSelectorTest itself, provided you update the test strings in all the | |||
| other unit tests. | |||
| A DESCRIPTION OF THE SELECTOR TEST FRAMEWORK | |||
| When writing tests for selectors, I found that I wanted to have some | |||
| standard way of working with a set of files and testing whether one or | |||
| another of them was selected. To that end, I created a base class called | |||
| BaseSelectorTest that does most of the heavy lifting. Of course, you can | |||
| test your selectors any way you want, but if you want to reuse this code, | |||
| read on. | |||
| What BaseSelectorTest does is use an ant build file | |||
| "src/etc/testcases/types/selector.xml" to copy a tree of files out of | |||
| "src/etc/testcases/taskdefs/expected" into a "selectortest" directories. | |||
| Then it takes a list of 12 of the files and directories in this tree, and | |||
| applies whatever selector you pass in to each one. It passes back to your | |||
| test a 12 character long string indicating which of the 12 files and | |||
| directories was selected, using 'T' for selected and 'F' for not selected. | |||
| In the Test class for your selector, you override the getInstance() method | |||
| to create your own type of selector, and set the elements of your selector | |||
| a variety of ways to ensure that the string of T's and F's returned when | |||
| the selector is applied to those 12 files is correct. | |||
| So, for example, DepthSelectorTest.java extends BaseSelectorTest and has | |||
| the following code: | |||
| public BaseSelector getInstance() { | |||
| return new DepthSelector(); | |||
| } | |||
| public void testSelectionBehaviour() { | |||
| DepthSelector s; | |||
| String results; | |||
| try { | |||
| makeBed(); | |||
| s = (DepthSelector)getInstance(); | |||
| s.setMin(20); | |||
| s.setMax(25); | |||
| results = selectionString(s); | |||
| assertEquals("FFFFFFFFFFFF", results); | |||
| s = (DepthSelector)getInstance(); | |||
| s.setMin(0); | |||
| results = selectionString(s); | |||
| assertEquals("TTTTTTTTTTTT", results); | |||
| s = (DepthSelector)getInstance(); | |||
| s.setMin(1); | |||
| results = selectionString(s); | |||
| assertEquals("FFFFFTTTTTTT", results); | |||
| The first test says that none of the 12 files or directories will match if | |||
| the depth range for the selector is between 20 and 25 (that would be one | |||
| deep directory tree!). The second says that all files and directories | |||
| match if the minimum depth is set to 0 and the maximum isn't specified. The | |||
| third test says that if the minumum depth is 1, the first 5 entries in the | |||
| list of 12 will not be selected and the rest will. | |||
| You can find the 12 files and directories that are tested for selection in | |||
| the BaseSelectorTest class. I used a fixed list so that if someone added | |||
| new files to the src/etc/testcases/types directory it wouldn't break my | |||
| tests: | |||
| protected String[] filenames = {".","asf-logo.gif.md5","asf- | |||
| logo.gif.bz2", | |||
| "asf-logo.gif.gz","copy.filterset.filtered","zip/asf- | |||
| logo.gif.zip", | |||
| "tar/asf-logo.gif.tar","tar/asf-logo-huge.tar.gz", | |||
| "tar/gz/asf-logo.gif.tar.gz","tar/bz2/asf-logo.gif.tar.bz2", | |||
| "tar/bz2/asf-logo-huge.tar.bz2","tar/bz2"}; | |||
| If you wish to use this set of files and directories to test your selector, | |||
| you can reuse the BaseSelectorTest with no change to it. | |||
| You may find you need to alter the build file so that you get some | |||
| variation in the files that your selector can work with. Most of the core | |||
| selectors have required that kind of modification. If you do that, make | |||
| sure that it doesn't alter the output strings on the other selector test, | |||
| or if it does that you update their expected return results. | |||
| You may also want to alter the set of files you look at in a particular | |||
| selector test. Since the filelist in BaseSelectorTest is protected, you | |||
| should be able to override it as you need to. Or you can alter the fileset | |||
| in BaseSelectorTest itself, provided you update the test strings in all the | |||
| other unit tests. | |||
| @@ -1,26 +1,26 @@ | |||
| <?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 | |||
| 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. | |||
| --> | |||
| <antlib> | |||
| <macrodef name="simple"> | |||
| <element name="some-tasks" optional="yes" implicit="yes"/> | |||
| <sequential> | |||
| <some-tasks/> | |||
| </sequential> | |||
| </macrodef> | |||
| </antlib> | |||
| <?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 | |||
| 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. | |||
| --> | |||
| <antlib> | |||
| <macrodef name="simple"> | |||
| <element name="some-tasks" optional="yes" implicit="yes"/> | |||
| <sequential> | |||
| <some-tasks/> | |||
| </sequential> | |||
| </macrodef> | |||
| </antlib> | |||
| @@ -1,26 +1,26 @@ | |||
| <?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 | |||
| 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. | |||
| --> | |||
| <antlib> | |||
| <macrodef name="simple"> | |||
| <element name="some-tasks" optional="yes" implicit="yes"/> | |||
| <sequential> | |||
| <some-tasks/> | |||
| </sequential> | |||
| </macrodef> | |||
| </antlib> | |||
| <?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 | |||
| 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. | |||
| --> | |||
| <antlib> | |||
| <macrodef name="simple"> | |||
| <element name="some-tasks" optional="yes" implicit="yes"/> | |||
| <sequential> | |||
| <some-tasks/> | |||
| </sequential> | |||
| </macrodef> | |||
| </antlib> | |||