Browse Source

make scriptcondition behave as documented wrt script return value

master
Matt Benson 3 years ago
parent
commit
413f5c0dea
2 changed files with 18 additions and 2 deletions
  1. +2
    -2
      src/main/org/apache/tools/ant/types/optional/ScriptCondition.java
  2. +16
    -0
      src/tests/antunit/types/optional/scriptcondition-test.xml

+ 2
- 2
src/main/org/apache/tools/ant/types/optional/ScriptCondition.java View File

@@ -44,8 +44,8 @@ public class ScriptCondition extends AbstractScriptComponent implements Conditio
@Override
public boolean eval() throws BuildException {
initScriptRunner();
executeScript("ant_condition");
return getValue();
final Object result = getRunner().evaluateScript("ant_condition");
return Boolean.TRUE.equals(result) || getValue();
}

/**


+ 16
- 0
src/tests/antunit/types/optional/scriptcondition-test.xml View File

@@ -68,4 +68,20 @@
</au:assertFalse>
</target>

<target name="test-return-value-true">
<au:assertTrue>
<scriptcondition language="beanshell">
true
</scriptcondition>
</au:assertTrue>
</target>

<target name="test-return-value-false">
<au:assertTrue>
<scriptcondition language="beanshell" value="true">
false
</scriptcondition>
</au:assertTrue>
</target>

</project>

Loading…
Cancel
Save