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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]