From 51b5caf9a8958cb689e38871f9bf07af0fe8774f Mon Sep 17 00:00:00 2001 From: Steve Loughran Date: Mon, 14 Jan 2002 00:01:17 +0000 Subject: [PATCH] lets test condition git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270747 13f79535-47bb-0310-9956-ffa450edef68 --- src/etc/testcases/taskdefs/condition.xml | 219 ++++++++++++++++++ .../tools/ant/taskdefs/ConditionTest.java | 218 +++++++++++++++++ 2 files changed, 437 insertions(+) create mode 100644 src/etc/testcases/taskdefs/condition.xml create mode 100644 src/testcases/org/apache/tools/ant/taskdefs/ConditionTest.java diff --git a/src/etc/testcases/taskdefs/condition.xml b/src/etc/testcases/taskdefs/condition.xml new file mode 100644 index 000000000..1278f09f4 --- /dev/null +++ b/src/etc/testcases/taskdefs/condition.xml @@ -0,0 +1,219 @@ + + + + + + + + + + ${basic} + + + + + + + + + + + ${condition-empty} + + + + + + + + ${shortcut} + + + + + + + ${dontset} + + + + + + + ${setvalue} + + + + + + + + + ${negation} + + + + + + + + + ${negationfalse} + + + + + + + ${negationincomplete} + + + + + + + + + + ${and} + + + + + + + + + + ${andfails} + + + + + + + + + ${andincomplete} + + + + + + + + ${andempty} + + + + + + + + + + + ${or} + + + + + + + + + ${orincomplete} + + + + + + + ${orempty} + + + + + + + + + + ${orfails} + + + + + + + + + + ${orboth} + + + + + + + ${filesmatch-identical} + + + + + + + ${filesmatch-incomplete} + + + + + + + ${filesmatch-oddsizes} + + + + + + + ${filesmatch-existence} + + + + + + + + + ${filesmatch-different} + + + + + + + + + ${filesmatch-match} + + + + + + + + + + diff --git a/src/testcases/org/apache/tools/ant/taskdefs/ConditionTest.java b/src/testcases/org/apache/tools/ant/taskdefs/ConditionTest.java new file mode 100644 index 000000000..a4ab7c130 --- /dev/null +++ b/src/testcases/org/apache/tools/ant/taskdefs/ConditionTest.java @@ -0,0 +1,218 @@ +/* + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2001 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, if + * any, must include the following acknowlegement: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowlegement may appear in the software itself, + * if and wherever such third-party acknowlegements normally appear. + * + * 4. The names "The Jakarta Project", "Ant", and "Apache Software + * Foundation" must not be used to endorse or promote products derived + * from this software without prior written permission. For written + * permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache" + * nor may "Apache" appear in their names without prior written + * permission of the Apache Group. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * . + */ +package org.apache.tools.ant.taskdefs; + +import org.apache.tools.ant.Project; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.BuildFileTest; +import java.lang.reflect.InvocationTargetException; + +/** + * @author steve_l + * @created 13 January 2002 + */ +public class ConditionTest extends BuildFileTest { + + /** + * Constructor for the ConditionTest object + * + * @param name we dont know + */ + public ConditionTest(String name) { + super(name); + } + + + /** + * The JUnit setup method + */ + public void setUp() { + configureProject("src/etc/testcases/taskdefs/condition.xml"); + } + + + /** + * The teardown method for JUnit + */ + public void tearDown() { + executeTarget("cleanup"); + } + + public void testBasic() { + expectPropertySet("basic","basic"); + } + + /** + * @todo have this reject the current error + */ + public void testConditionIncomplete() { + try { + executeTarget("condition-incomplete"); + } catch(Exception e) { + } + } + + /** + * @todo have this reject the current error + */ + public void testConditionEmpty() { + try { + executeTarget("condition-empty"); + } catch(Exception e) { + } + } + + public void testShortcut() { + expectPropertySet("shortcut","shortcut","set"); + } + + public void testUnset() { + expectPropertyUnset("dontset","dontset"); + } + + public void testSetValue() { + expectPropertySet("setvalue","setvalue","woowoo"); + } + + public void testNegation() { + expectPropertySet("negation","negation"); + } + + public void testNegationFalse() { + expectPropertyUnset("negationfalse","negationfalse"); + } + + /** + * @todo have this reject the current error + */ + public void testNegationIncomplete() { + try { + executeTarget("negationincomplete"); + } catch(Exception e) { + } + } + + public void testAnd() { + expectPropertySet("and","and"); + } + + public void testAndFails() { + expectPropertyUnset("andfails","andfails"); + } + + public void testAndIncomplete() { + expectPropertyUnset("andincomplete","andincomplete"); + } + + public void testAndempty() { + expectPropertySet("andempty","andempty"); + } + + public void testOr() { + expectPropertySet("or","or"); + } + + public void testOrincomplete() { + expectPropertySet("or","or"); + } + + public void testOrFails() { + expectPropertyUnset("orfails","orfails"); + } + + public void testOrboth() { + expectPropertySet("orboth","orboth"); + } + + public void testFilesmatchIdentical() { + expectPropertySet("filesmatch-identical","filesmatch-identical"); + } + + + /** + * @todo have this reject the current error + */ + public void testFilesmatchIncomplete() { + try { + executeTarget("filesmatch-incomplete"); + } catch(Exception e) { + } + } + + public void testFilesmatchOddsizes() { + expectPropertyUnset("filesmatch-oddsizes","filesmatch-oddsizes"); + } + + /** + * @todo have this reject the current error + */ + public void testFilesmatchExistence() { + try { + executeTarget("filesmatch-existence"); + } catch(Exception e) { + } + } + + /** + * @todo have this reject the current error + */ + public void testFilesmatchDifferent() { + expectPropertyUnset("filesmatch-different","filesmatch-different"); + } + + public void testFilesmatchMatch() { + expectPropertySet("filesmatch-match","filesmatch-match"); + } +} +