You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by pe...@apache.org on 2004/12/17 14:24:38 UTC
cvs commit: ant/src/etc/testcases/types/mappers define.mapperresult.xml globmapper.xml regexpmapper.xml
peterreilly 2004/12/17 05:24:38
Added: src/testcases/org/apache/tools/ant/types/mappers
GlobMapperTest.java MapperResult.java
RegexpPatternMapperTest.java
src/etc/testcases/types/mappers define.mapperresult.xml
globmapper.xml regexpmapper.xml
Log:
testcases for new attributes on globmapper and regexpmapper
Revision Changes Path
1.1 ant/src/testcases/org/apache/tools/ant/types/mappers/GlobMapperTest.java
Index: GlobMapperTest.java
===================================================================
/*
* Copyright 2004 The Apache Software Foundation
*
* Licensed 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.
*
*/
package org.apache.tools.ant.types.mappers;
import org.apache.tools.ant.BuildFileTest;
/**
* Testcase for the <globmapper> mapper.
*
*/
public class GlobMapperTest extends BuildFileTest {
public GlobMapperTest(String name) {
super(name);
}
public void setUp() {
configureProject("src/etc/testcases/types/mappers/globmapper.xml");
}
public void testIgnoreCase() {
executeTarget("ignore.case");
}
public void testHandleDirChar() {
executeTarget("handle.dirchar");
}
}
1.1 ant/src/testcases/org/apache/tools/ant/types/mappers/MapperResult.java
Index: MapperResult.java
===================================================================
/*
* Copyright 2004 The Apache Software Foundation
*
* Licensed 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.
*
*/
package org.apache.tools.ant.types.mappers;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.Mapper;
import org.apache.tools.ant.util.FileNameMapper;
/**
* This is a test task to show the result of a mapper
* on a specific input.
* (Test is not in the name of the class, to make sure that
* it is not treated as a unit test.
*/
public class MapperResult extends Task {
private String failMessage = "";
private String input;
private String output;
private FileNameMapper fileNameMapper;
public void setFailMessage(String failMessage) {
this.failMessage = failMessage;
}
public void setInput(String input) {
this.input = input;
}
public void setOutput(String output) {
this.output = output;
}
public void addConfiguredMapper(Mapper mapper) {
add(mapper.getImplementation());
}
public void add(FileNameMapper fileNameMapper) {
if (this.fileNameMapper != null) {
throw new BuildException("Only one mapper type nested element allowed");
}
this.fileNameMapper = fileNameMapper;
}
public void execute() {
if (input == null) {
throw new BuildException("Missing attribute 'input'");
}
if (output == null) {
throw new BuildException("Missing attribute 'output'");
}
if (fileNameMapper == null) {
throw new BuildException("Missing a nested file name mapper type element");
}
String[] result = fileNameMapper.mapFileName(input);
String flattened;
if (result == null) {
flattened = "<NULL>";
} else {
StringBuffer b = new StringBuffer();
for (int i = 0; i < result.length; ++i) {
if (i != 0) {
b.append("|");
}
b.append(result[i]);
}
flattened = b.toString();
}
if (!flattened.equals(output)) {
throw new BuildException(
failMessage
+ " "
+ "got "
+ flattened
+ " "
+ "expected "
+ output);
}
}
}
1.1 ant/src/testcases/org/apache/tools/ant/types/mappers/RegexpPatternMapperTest.java
Index: RegexpPatternMapperTest.java
===================================================================
/*
* Copyright 2004 The Apache Software Foundation
*
* Licensed 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.
*
*/
package org.apache.tools.ant.types.mappers;
import org.apache.tools.ant.BuildFileTest;
/**
* Testcase for the <regexpmapper> mapper.
*
*/
public class RegexpPatternMapperTest extends BuildFileTest {
public RegexpPatternMapperTest(String name) {
super(name);
}
public void setUp() {
configureProject("src/etc/testcases/types/mappers/regexpmapper.xml");
}
public void testIgnoreCase() {
executeTarget("ignore.case");
}
public void testHandleDirChar() {
executeTarget("handle.dirchar");
}
}
1.1 ant/src/etc/testcases/types/mappers/define.mapperresult.xml
Index: define.mapperresult.xml
===================================================================
<project>
<typedef name="mapperresult"
classpath="../../../../../build/testcases"
classname="org.apache.tools.ant.types.mappers.MapperResult"/>
</project>
1.1 ant/src/etc/testcases/types/mappers/globmapper.xml
Index: globmapper.xml
===================================================================
<project>
<import file="define.mapperresult.xml"/>
<target name="handle.dirchar">
<mapperresult input="d\e/f/j.java" output="f/j.java">
<globmapper from="d/e\*" to="*" handledirchar="yes"/>
</mapperresult>
</target>
<target name="ignore.case">
<mapperresult input="AbcDef.JaVa" output="bcDef.java.bak">
<globmapper from="a*.java" to="*.java.bak" casesensitive="no"/>
</mapperresult>
</target>
</project>
1.1 ant/src/etc/testcases/types/mappers/regexpmapper.xml
Index: regexpmapper.xml
===================================================================
<project>
<import file="define.mapperresult.xml"/>
<target name="ignore.case">
<mapperresult input="AbcDef.javA" output="bcDef.java.bak">
<regexpmapper from="a(.*).JaVa" to="\1.java.bak" casesensitive="no"/>
</mapperresult>
</target>
<target name="handle.dirchar">
<mapperresult input="d\e/f\j.java" output="f/j.java">
<regexpmapper from="d/e/(.*)" to="\1" handledirchar="yes"/>
</mapperresult>
</target>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org