From d0cd6036cb0ef8def119334888d92399167de919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20Bl=C3=B6mer?= Date: Wed, 11 Nov 2015 07:23:05 +0100 Subject: [PATCH] Issue 114: Blank strings in brackets being casted to 0 --- .../org/apache/commons/jexl2/JadeJexlArithmetic.java | 11 +++++++++++ src/test/resources/issues/114.html | 1 + src/test/resources/issues/114.jade | 2 ++ 3 files changed, 14 insertions(+) create mode 100644 src/test/resources/issues/114.html create mode 100644 src/test/resources/issues/114.jade diff --git a/src/main/java/org/apache/commons/jexl2/JadeJexlArithmetic.java b/src/main/java/org/apache/commons/jexl2/JadeJexlArithmetic.java index de487b7b..869b8266 100644 --- a/src/main/java/org/apache/commons/jexl2/JadeJexlArithmetic.java +++ b/src/main/java/org/apache/commons/jexl2/JadeJexlArithmetic.java @@ -6,6 +6,7 @@ import java.util.Collection; public class JadeJexlArithmetic extends JexlArithmetic { + public JadeJexlArithmetic(boolean lenient) { super(lenient); } @@ -34,4 +35,14 @@ public boolean toBoolean(Object val) { return true; } + + @Override + public Object add(Object left, Object right) { + if (left instanceof String || right instanceof String) { + return left.toString() + right.toString(); + } + else { + return super.add(left, right); + } + } } diff --git a/src/test/resources/issues/114.html b/src/test/resources/issues/114.html new file mode 100644 index 00000000..21250320 --- /dev/null +++ b/src/test/resources/issues/114.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/resources/issues/114.jade b/src/test/resources/issues/114.jade new file mode 100644 index 00000000..6c66efb5 --- /dev/null +++ b/src/test/resources/issues/114.jade @@ -0,0 +1,2 @@ +-var blank = "" +input(value="#{blank}") \ No newline at end of file