Author: cbrisson
Date: Thu Nov 1 12:20:31 2018
New Revision: 1845457
URL: http://svn.apache.org/viewvc?rev=1845457&view=rev
Log:
[engine] Bugfix for alternate values
Modified:
velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTReference.java
velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java
Modified:
velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTReference.java
URL:
http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTReference.java?rev=1845457&r1=1845456&r2=1845457&view=diff
==============================================================================
---
velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTReference.java
(original)
+++
velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTReference.java
Thu Nov 1 12:20:31 2018
@@ -389,7 +389,7 @@ public class ASTReference extends Simple
/*
* Time to try the alternate value if needed
*/
- if (astAlternateValue != null && (result == null ||
DuckType.asBoolean(result, checkEmpty)))
+ if (astAlternateValue != null && (result == null ||
!DuckType.asBoolean(result, checkEmpty)))
{
result = astAlternateValue.value(context);
}
Modified:
velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java
URL:
http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java?rev=1845457&r1=1845456&r2=1845457&view=diff
==============================================================================
---
velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java
(original)
+++
velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java
Thu Nov 1 12:20:31 2018
@@ -55,8 +55,9 @@ public class AlternateValuesTestCase ext
{
assertEvalEquals("<foo>", "<${foo|'foo'}>");
assertEvalEquals("bar", "#set($bar='bar')${foo|$bar}");
+ assertEvalEquals("bar", "#set($bar='bar')${bar|'foo'}");
assertEvalEquals("bar", "#set($bar='bar')${foo|${bar}}");
- assertEvalEquals("baz", "${foo|${bar|'baz'}}");
+ assertEvalEquals("baz", "${foo|${baz|'baz'}}");
assertEvalEquals("hop", "${foo.bar.baz()[5]|'hop'}");
assertEvalEquals("{foo}", "{${foo|'foo'}}");
assertEvalEquals("<1>", "<${foo|1}>");