From 42f5c61d7f0f9f55c3d1761dda8988988e02b45c Mon Sep 17 00:00:00 2001 From: yinzhili Date: Sat, 8 Nov 2025 15:27:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=A9=BA=E7=99=BD=E7=AC=A6?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91=EF=BC=8C=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6(=E5=A6=82\u200B)=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E7=9A=84=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/mybatis/common/util/Utils.java | 2 +- .../io/mybatis/common/util/UtilsTest.java | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 common/src/test/java/io/mybatis/common/util/UtilsTest.java diff --git a/common/src/main/java/io/mybatis/common/util/Utils.java b/common/src/main/java/io/mybatis/common/util/Utils.java index 3a6731e..dd9ff6d 100644 --- a/common/src/main/java/io/mybatis/common/util/Utils.java +++ b/common/src/main/java/io/mybatis/common/util/Utils.java @@ -93,7 +93,7 @@ public static boolean isBlankChar(int c) { return Character.isWhitespace(c) || Character.isSpaceChar(c) || c == '\ufeff' - || c == '\u202a'; + || Character.getType(c) == Character.FORMAT; } /** diff --git a/common/src/test/java/io/mybatis/common/util/UtilsTest.java b/common/src/test/java/io/mybatis/common/util/UtilsTest.java new file mode 100644 index 0000000..c877a56 --- /dev/null +++ b/common/src/test/java/io/mybatis/common/util/UtilsTest.java @@ -0,0 +1,36 @@ +package io.mybatis.common.util; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Utils单元测试用例 + */ +public class UtilsTest { + + /** + * 测试常见的空白字符 + */ + @Test + public void testBlankChar() { + Assert.assertTrue(Utils.isBlankChar(' ')); + Assert.assertTrue(Utils.isBlankChar('\n')); + Assert.assertTrue(Utils.isBlankChar('\r')); + Assert.assertTrue(Utils.isBlankChar('\t')); + Assert.assertTrue(Utils.isBlankChar('\f')); + + Assert.assertTrue(Utils.isBlankChar('\u00A0')); + Assert.assertTrue(Utils.isBlankChar('\ufeff')); + Assert.assertTrue(Utils.isBlankChar('\u3000')); + Assert.assertTrue(Utils.isBlankChar('\u202a')); + // 处理来自Word的文本时,偶见此空白字符 + Assert.assertTrue(Utils.isBlankChar('\u200B')); + + Assert.assertFalse(Utils.isBlankChar('a')); + Assert.assertFalse(Utils.isBlankChar('z')); + Assert.assertFalse(Utils.isBlankChar('0')); + Assert.assertFalse(Utils.isBlankChar('9')); + Assert.assertFalse(Utils.isBlankChar('/')); + Assert.assertFalse(Utils.isBlankChar('\\')); + } +}