|
- <?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 default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
- <import file="../antunit-base.xml" />
-
- <import file="../propertyhelpers.xml" as="ph"/>
-
- <target name="tearDown" depends="antunit-base.tearDown">
- <delete dir="foo"/>
- </target>
-
- <target name="setUp">
- <mkdir dir="${output}"/>
- <echo file="${output}/text.txt"><![CDATA[
- Hello, world!
- ]]></echo>
- </target>
-
- <target name="testRCSupport" depends="setUp">
- <replace token="world" value="Ant">
- <file file="${output}/text.txt"/>
- </replace>
- <au:assertResourceContains
- resource="${output}/text.txt" value="Hello, Ant!"/>
- </target>
-
- <target name="testNestedElementsOfFilter" depends="setUp">
- <replace>
- <file file="${output}/text.txt"/>
- <replacefilter>
- <replacetoken>world</replacetoken>
- <replacevalue>Ant</replacevalue>
- </replacefilter>
- </replace>
- <au:assertResourceContains
- resource="${output}/text.txt" value="Hello, Ant!"/>
- </target>
-
- <target name="testNoPropertyExpansion" depends="setUp">
- <property name="ant" value="Ant"/>
- <replace>
- <file file="${output}/text.txt"/>
- <replacetoken>world</replacetoken>
- <replacevalue>${ant}</replacevalue>
- </replace>
- <au:assertResourceDoesntContain
- resource="${output}/text.txt" value="Hello, Ant!"/>
- </target>
-
- <target name="testPropertyExpansion" depends="setUp">
- <property name="ant" value="Ant"/>
- <replace>
- <file file="${output}/text.txt"/>
- <replacetoken>world</replacetoken>
- <replacevalue expandproperties="true">${ant}</replacevalue>
- </replace>
- <au:assertResourceContains
- resource="${output}/text.txt" value="Hello, Ant!"/>
- </target>
-
- <target name="testNoReplace" depends="setUp">
- <replace token="ant" value="ant" summary="true">
- <file file="${output}/text.txt"/>
- </replace>
- <au:assertLogContains text="Replaced 0 occurrences in 0 files."/>
- </target>
-
- <target name="testFailOnNoReplace" depends="setUp">
- <au:expectfailure expectedMessage="didn't replace anything">
- <replace token="ant" value="ant" failOnNoReplacements="true">
- <file file="${output}/text.txt"/>
- </replace>
- </au:expectfailure>
- </target>
-
- <target name="testPropertyFilterResource" depends="setUp,ph.defineHelpers">
- <mkdir dir="foo"/>
- <echo file="foo/foo.properties"><![CDATA[
- world=Ant
- ]]></echo>
- <replace replacefilterresource="${java:foo!foo.properties}">
- <file file="${output}/text.txt"/>
- </replace>
- <au:assertResourceContains
- resource="${output}/text.txt" value="Hello, Ant!"/>
- </target>
-
- <target name="testLongestFilterWins" depends="setUp,ph.defineHelpers">
- <mkdir dir="${input}"/>
- <echo file="${input}/filter.properties"><![CDATA[
- a=1
- ab=2
- abc=3
- abcd=4
- abcde=5
- abcdef=6
- abcdefg=7
- abcdefgh=8
- abcdefghi=9
- abcdefghij=10
- abcdefghijk=11
- abcdefghijkl=12
- abcdefghijklm=13
- abcdefghijklmn=14
- abcdefghijklmno=15
- abcdefghijklmnop=16
- abcdefghijklmnopq=17
- abcdefghijklmnopqr=18
- abcdefghijklmnopqrs=19
- abcdefghijklmnopqrst=20
- abcdefghijklmnopqrstu=21
- abcdefghijklmnopqrstuv=22
- abcdefghijklmnopqrstuvw=23
- abcdefghijklmnopqrstuvwx=24
- abcdefghijklmnopqrstuvwxy=25
- abcdefghijklmnopqrstuvwxyz=26
- A=27
- AB=28
- ABC=29
- ABCD=30
- ABCDE=31
- ABCDEF=32
- ABCDEFG=33
- ABCDEFGH=34
- ABCDEFGHI=35
- ABCDEFGHIJ=36
- ABCDEFGHIJK=37
- ABCDEFGHIJKL=38
- ABCDEFGHIJKLM=39
- ABCDEFGHIJKLMN=40
- ABCDEFGHIJKLMNO=41
- ABCDEFGHIJKLMNOP=42
- ABCDEFGHIJKLMNOPQ=43
- ABCDEFGHIJKLMNOPQR=44
- ABCDEFGHIJKLMNOPQRS=45
- ABCDEFGHIJKLMNOPQRST=46
- ABCDEFGHIJKLMNOPQRSTU=47
- ABCDEFGHIJKLMNOPQRSTUV=48
- ABCDEFGHIJKLMNOPQRSTUVW=49
- ABCDEFGHIJKLMNOPQRSTUVWX=50
- ABCDEFGHIJKLMNOPQRSTUVWXY=51
- ABCDEFGHIJKLMNOPQRSTUVWXYZ=52
- ]]></echo>
- <echo file="${output}/text.txt"><![CDATA[
- a
- ab
- abc
- abcd
- abcde
- abcdef
- abcdefg
- abcdefgh
- abcdefghi
- abcdefghij
- abcdefghijk
- abcdefghijkl
- abcdefghijklm
- abcdefghijklmn
- abcdefghijklmno
- abcdefghijklmnop
- abcdefghijklmnopq
- abcdefghijklmnopqr
- abcdefghijklmnopqrs
- abcdefghijklmnopqrst
- abcdefghijklmnopqrstu
- abcdefghijklmnopqrstuv
- abcdefghijklmnopqrstuvw
- abcdefghijklmnopqrstuvwx
- abcdefghijklmnopqrstuvwxy
- abcdefghijklmnopqrstuvwxyz
- A
- AB
- ABC
- ABCD
- ABCDE
- ABCDEF
- ABCDEFG
- ABCDEFGH
- ABCDEFGHI
- ABCDEFGHIJ
- ABCDEFGHIJK
- ABCDEFGHIJKL
- ABCDEFGHIJKLM
- ABCDEFGHIJKLMN
- ABCDEFGHIJKLMNO
- ABCDEFGHIJKLMNOP
- ABCDEFGHIJKLMNOPQ
- ABCDEFGHIJKLMNOPQR
- ABCDEFGHIJKLMNOPQRS
- ABCDEFGHIJKLMNOPQRST
- ABCDEFGHIJKLMNOPQRSTU
- ABCDEFGHIJKLMNOPQRSTUV
- ABCDEFGHIJKLMNOPQRSTUVW
- ABCDEFGHIJKLMNOPQRSTUVWX
- ABCDEFGHIJKLMNOPQRSTUVWXY
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
- ]]></echo>
- <echo file="${output}/expected.txt"><![CDATA[
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- ]]></echo>
- <replace replacefilterresource="${input}/filter.properties">
- <file file="${output}/text.txt"/>
- </replace>
- <au:assertFilesMatch expected="${output}/expected.txt"
- actual="${output}/text.txt"/>
- </target>
-
- </project>
|