blob: f518313e89fdad8cc0e4f46d1a19b68f42b48dfa [file] [log] [blame]
<project name="scriptcondition-test" default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
<import file="../antunit-base.xml" />
<macrodef name="t">
<element name="test" implicit="yes" />
<attribute name="message"/>
<sequential>
<au:assertTrue message="query @{message} failed; result was false">
<test />
</au:assertTrue>
</sequential>
</macrodef>
<macrodef name="f">
<element name="test" implicit="yes" />
<attribute name="message"/>
<sequential>
<au:assertFalse message="test @{message} failed; result was true">
<test />
</au:assertFalse>
</sequential>
</macrodef>
<condition property="js.avail">
<available classname="org.mozilla.javascript.EvaluatorException"/>
</condition>
<condition property="beanshell.avail">
<available classname="bsh.BshMethod"/>
</condition>
<!-- this is here to test the macro is well coded -->
<target name="testMacro">
<t message="testMacro">
<istrue value="true"/>
</t>
<f message="testMacro2">
<istrue value="false"/>
</f>
</target>
<target name="testNolanguage">
<au:expectfailure message="Absence of language attribute not detected"
expectedMessage="script language must be specified">
<t message="testNolanguage">
<scriptcondition>
self.setValue(true);
</scriptcondition>
</t>
</au:expectfailure>
</target>
<target name="testClearByDefault" if="js.avail">
<f message="testClearByDefault">
<scriptcondition language="javascript">
</scriptcondition>
</f>
</target>
<target name="testValueWorks" if="js.avail">
<t message="testValueWorks">
<scriptcondition language="javascript" value="true" />
</t>
</target>
<target name="testSetWorks" if="js.avail">
<t message="testSetWorks">
<scriptcondition language="javascript" value="false">
self.setValue(true);
</scriptcondition>
</t>
</target>
<target name="testClearWorks" if="js.avail">
<f message="testClearWorks">
<scriptcondition language="javascript" value="true">
self.setValue(false);
</scriptcondition>
</f>
</target>
</project>