diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ConditionTest.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ConditionTest.java | 379 |
1 files changed, 379 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ConditionTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ConditionTest.java new file mode 100644 index 00000000..1b6c1039 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ConditionTest.java @@ -0,0 +1,379 @@ +/* + * 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. + * + */ +package org.apache.tools.ant.taskdefs; + +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.BuildFileRule; +import org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.fail; + +public class ConditionTest { + + @Rule + public BuildFileRule buildRule = new BuildFileRule(); + + + /** + * The JUnit setup method + */ + @Before + public void setUp() { + buildRule.configureProject("src/etc/testcases/taskdefs/condition.xml"); + } + + + /** + * The teardown method for JUnit + */ + @After + public void tearDown() { + buildRule.executeTarget("cleanup"); + } + + @Test + public void testBasic() { + buildRule.executeTarget("basic"); + assertEquals("true", buildRule.getProject().getProperty("basic")); + } + + @Test + public void testConditionIncomplete() { + try { + buildRule.executeTarget("condition-incomplete"); + fail("BuildException should have been thrown - property attribute has been omitted"); + } catch (BuildException ex) { + assertEquals("The property attribute is required.", ex.getMessage()); + } + } + + @Test + public void testConditionEmpty() { + try { + buildRule.executeTarget("condition-empty"); + fail("BuildException should have been thrown - no conditions"); + } catch(BuildException ex) { + assertEquals("You must nest a condition into <condition>", ex.getMessage()); + } + } + + @Test + public void testShortcut() { + buildRule.executeTarget("shortcut"); + assertEquals("set", buildRule.getProject().getProperty("shortcut")); + } + + @Test + public void testUnset() { + buildRule.executeTarget("dontset"); + assertNull(buildRule.getProject().getProperty("dontset")); + } + + @Test + public void testSetValue() { + buildRule.executeTarget("setvalue"); + assertEquals("woowoo", buildRule.getProject().getProperty("setvalue")); + } + + @Test + public void testNegation() { + buildRule.executeTarget("negation"); + assertEquals("true", buildRule.getProject().getProperty("negation")); + } + + @Test + public void testNegationFalse() { + buildRule.executeTarget("negationfalse"); + assertNull(buildRule.getProject().getProperty("negationfalse")); + } + + @Test + public void testNegationIncomplete() { + try { + buildRule.executeTarget("negationincomplete"); + fail("BuildException should have been thrown - no conditions in <not>"); + } catch (BuildException ex) { + assertEquals("You must nest a condition into <not>", ex.getMessage()); + } + } + + @Test + public void testAnd() { + buildRule.executeTarget("and"); + assertEquals("true", buildRule.getProject().getProperty("and")); + } + + @Test + public void testAndFails() { + buildRule.executeTarget("andfails"); + assertNull(buildRule.getProject().getProperty("andfails")); + } + + @Test + public void testAndIncomplete() { + buildRule.executeTarget("andincomplete"); + assertNull(buildRule.getProject().getProperty("andincomplete")); + } + + @Test + public void testAndempty() { + buildRule.executeTarget("andempty"); + assertEquals("true", buildRule.getProject().getProperty("andempty")); + } + + @Test + public void testOr() { + buildRule.executeTarget("or"); + assertEquals("true", buildRule.getProject().getProperty("or")); + } + + @Test + public void testOrincomplete() { + buildRule.executeTarget("or"); + assertEquals("true", buildRule.getProject().getProperty("or")); + } + + @Test + public void testOrFails() { + buildRule.executeTarget("orfails"); + assertNull(buildRule.getProject().getProperty("orfails")); + } + + @Test + public void testOrboth() { + buildRule.executeTarget("orboth"); + assertEquals("true", buildRule.getProject().getProperty("orboth")); + } + + @Test + public void testFilesmatchIdentical() { + buildRule.executeTarget("filesmatch-identical"); + assertEquals("true", buildRule.getProject().getProperty("filesmatch-identical")); + } + + @Test + public void testFilesmatchIncomplete() { + try { + buildRule.executeTarget("filesmatch-incomplete"); + fail("Build exception should have been thrown - Missing file2 attirbute"); + } catch (BuildException ex) { + assertEquals("both file1 and file2 are required in filesmatch", ex.getMessage()); + } + } + + @Test + public void testFilesmatchOddsizes() { + buildRule.executeTarget("filesmatch-oddsizes"); + assertNull(buildRule.getProject().getProperty("filesmatch-oddsizes")); + } + + @Test + public void testFilesmatchExistence() { + buildRule.executeTarget("filesmatch-existence"); + assertNull(buildRule.getProject().getProperty("filesmatch-existence")); + } + + @Test + public void testFilesmatchDifferent() { + buildRule.executeTarget("filesmatch-different"); + assertNull(buildRule.getProject().getProperty("filesmatch-different")); + } + + @Test + public void testFilesmatchMatch() { + buildRule.executeTarget("filesmatch-match"); + assertEquals("true", buildRule.getProject().getProperty("filesmatch-match")); + } + + @Test + public void testFilesmatchDifferentSizes() { + buildRule.executeTarget("filesmatch-different-sizes"); + assertNull(buildRule.getProject().getProperty("filesmatch-different-sizes")); + } + + @Test + public void testFilesmatchDifferentOnemissing() { + buildRule.executeTarget("filesmatch-different-onemissing"); + assertNull(buildRule.getProject().getProperty("filesmatch-different-onemissing")); + } + + @Test + public void testFilesmatchDifferentEol() { + buildRule.executeTarget("filesmatch-different-eol"); + } + + @Test + public void testFilesmatchSameEol() { + buildRule.executeTarget("filesmatch-same-eol"); + } + + @Test + public void testFilesmatchNeitherExist() { + buildRule.executeTarget("filesmatch-neitherexist"); + } + + @Test + public void testContains() { + buildRule.executeTarget("contains"); + assertEquals("true", buildRule.getProject().getProperty("contains")); + } + + @Test + public void testContainsDoesnt() { + buildRule.executeTarget("contains-doesnt"); + assertNull(buildRule.getProject().getProperty("contains-doesnt")); + } + + @Test + public void testContainsAnycase() { + buildRule.executeTarget("contains-anycase"); + assertEquals("true", buildRule.getProject().getProperty("contains-anycase")); + } + + @Test + public void testContainsIncomplete1() { + try { + buildRule.executeTarget("contains-incomplete1"); + fail("BuildException should have been thrown - Missing contains attribute"); + } catch(BuildException ex) { + assertEquals("both string and substring are required in contains", ex.getMessage()); + } + } + + @Test + public void testContainsIncomplete2() { + try { + buildRule.executeTarget("contains-incomplete2"); + fail("BuildException should have been thrown - Missing contains attribute"); + } catch(BuildException ex) { + assertEquals("both string and substring are required in contains", ex.getMessage()); + } + } + + @Test + public void testIstrue() { + buildRule.executeTarget("istrue"); + assertEquals("true", buildRule.getProject().getProperty("istrue")); + } + + @Test + public void testIstrueNot() { + buildRule.executeTarget("istrue-not"); + assertNull(buildRule.getProject().getProperty("istrue-not")); + } + + @Test + public void testIstrueFalse() { + buildRule.executeTarget("istrue-false"); + assertNull(buildRule.getProject().getProperty("istrue-false")); + } + + @Test + public void testIstrueIncomplete1() { + try { + buildRule.executeTarget("istrue-incomplete"); + fail("BuildException should have been thrown - Missing attribute"); + } catch(BuildException ex) { + assertEquals("Nothing to test for truth", ex.getMessage()); + } + } + + @Test + public void testIsfalseTrue() { + buildRule.executeTarget("isfalse-true"); + assertNull(buildRule.getProject().getProperty("isfalse-true")); + } + + @Test + public void testIsfalseNot() { + buildRule.executeTarget("isfalse-not"); + assertEquals("true", buildRule.getProject().getProperty("isfalse-not")); + } + + @Test + public void testIsfalseFalse() { + + buildRule.executeTarget("isfalse-false"); + assertEquals("true", buildRule.getProject().getProperty("isfalse-false")); + } + + @Test + public void testIsfalseIncomplete1() { + try { + buildRule.executeTarget("isfalse-incomplete"); + fail("BuildException should have been thrown - Missing attribute"); + } catch(BuildException ex) { + assertEquals("Nothing to test for falsehood", ex.getMessage()); + } + } + + @Test + public void testElse() { + buildRule.executeTarget("testElse"); + } + + @Test + public void testResourcesmatchError() { + try { + buildRule.executeTarget("resourcematch-error"); + fail("BuildException should have been thrown - no resources specified"); + } catch (BuildException ex) { + //TODO assert value + } + } + + @Test + public void testResourcesmatchEmpty() { + buildRule.executeTarget("resourcesmatch-match-empty"); + } + + @Test + public void testResourcesmatchOne() { + buildRule.executeTarget("resourcesmatch-match-one"); + } + + @Test + public void testResourcesmatchBinary() { + buildRule.executeTarget("resourcesmatch-match-binary"); + } + + @Test + public void testResourcesmatchMultipleBinary() { + buildRule.executeTarget("resourcesmatch-match-multiple-binary"); + } + + @Test + public void testResourcesmatchDiffer() { + buildRule.executeTarget("resourcesmatch-differ"); + } + + @Test + public void testResourcesmatchText() { + buildRule.executeTarget("resourcesmatch-match-text"); + } + + @Test + public void testResourcesmatchNoneExist() { + buildRule.executeTarget("resourcesmatch-noneexist"); + } +} |