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}>");


Reply via email to