This is an automated email from the ASF dual-hosted git repository.

ddekany pushed a commit to branch 2.3-gae
in repository https://gitbox.apache.org/repos/asf/freemarker.git

commit ce5d8697e682f57a476eaff163b3b3b486898f16
Author: ddekany <[email protected]>
AuthorDate: Fri Nov 1 10:52:00 2024 +0100

    Minor cleanups related to ?trimToNull/?emptyToNull/?blankToNull
---
 .../main/java/freemarker/core/BuiltInsForExistenceHandling.java  | 2 +-
 .../src/main/java/freemarker/template/utility/StringUtil.java    | 5 +++++
 .../src/test/java/freemarker/core/StringBuiltInTest.java         | 9 +++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/freemarker-core/src/main/java/freemarker/core/BuiltInsForExistenceHandling.java
 
b/freemarker-core/src/main/java/freemarker/core/BuiltInsForExistenceHandling.java
index 483b6ed5..f226b98f 100644
--- 
a/freemarker-core/src/main/java/freemarker/core/BuiltInsForExistenceHandling.java
+++ 
b/freemarker-core/src/main/java/freemarker/core/BuiltInsForExistenceHandling.java
@@ -140,7 +140,7 @@ class BuiltInsForExistenceHandling {
 
                private static boolean isBlank(String s) {
             if (s == null) {
-                return false;
+                return true;
             }
 
                        int len = s.length();
diff --git 
a/freemarker-core/src/main/java/freemarker/template/utility/StringUtil.java 
b/freemarker-core/src/main/java/freemarker/template/utility/StringUtil.java
index f4f145f1..c4664d48 100644
--- a/freemarker-core/src/main/java/freemarker/template/utility/StringUtil.java
+++ b/freemarker-core/src/main/java/freemarker/template/utility/StringUtil.java
@@ -2084,6 +2084,11 @@ public class StringUtil {
         return true;
     }
 
+    /**
+     * Like {@link Character#isWhitespace(char)}, but also considers 
non-breaking whitespace characters as whitespace.
+     *
+     * @since  2.3.34
+     */
     public static boolean isWhitespaceOrNonBreakingWhitespace(char c) {
         if (Character.isWhitespace(c)) {
             return true;
diff --git 
a/freemarker-core/src/test/java/freemarker/core/StringBuiltInTest.java 
b/freemarker-core/src/test/java/freemarker/core/StringBuiltInTest.java
index 7c09bc1d..b8aa0038 100644
--- a/freemarker-core/src/test/java/freemarker/core/StringBuiltInTest.java
+++ b/freemarker-core/src/test/java/freemarker/core/StringBuiltInTest.java
@@ -60,6 +60,9 @@ public class StringBuiltInTest extends TemplateTest {
         // No consistent with ?trim (and String.trim()), as all UNICODE 
whitespace count as whitespace:
         assertOutput("${' \u2003  '?blank_to_null!'-'}", "-");
         assertOutput("${' \u00A0  '?blank_to_null!'-'}", "-"); // Even if it's 
non-breaking whitespace
+
+        // Camel case:
+        assertOutput("${nonExisting?blankToNull!'-'}", "-");
     }
 
     @Test
@@ -89,6 +92,9 @@ public class StringBuiltInTest extends TemplateTest {
 
         // To be consistent with ?trim (and String.trim()), only char <= 32 is 
whitespace, not all UNICODE whitespace:
         assertOutput("${'  \u2003  '?trim_to_null!'-'}", "\u2003");
+
+        // Camel case:
+        assertOutput("${nonExisting?trimToNull!'-'}", "-");
     }
 
     @Test
@@ -115,6 +121,9 @@ public class StringBuiltInTest extends TemplateTest {
         assertOutput("${(nonExisting + '.')?empty_to_null!'-'}", "-");
 
         assertOutput("${1234?empty_to_null!'-'}", "1,234");
+
+        // Camel case:
+        assertOutput("${nonExisting?emptyToNull!'-'}", "-");
     }
 
     @Test

Reply via email to