From 988a5cc31b70b99e80114bc6c704d58fbd1b6940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Mon, 11 Jul 2022 08:18:06 +0800 Subject: [PATCH] =?UTF-8?q?Unit=20Test=20|=20=E5=8D=95=E5=85=83=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/show/doc/PsiDocToStrDocTest.java | 52 +++++++++++++++++++ .../plugin/show/line/PsiClassSkipTest.java | 10 ++-- 2 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 src/test/java/io/github/linwancen/plugin/show/doc/PsiDocToStrDocTest.java diff --git a/src/test/java/io/github/linwancen/plugin/show/doc/PsiDocToStrDocTest.java b/src/test/java/io/github/linwancen/plugin/show/doc/PsiDocToStrDocTest.java new file mode 100644 index 0000000..3297f3a --- /dev/null +++ b/src/test/java/io/github/linwancen/plugin/show/doc/PsiDocToStrDocTest.java @@ -0,0 +1,52 @@ +package io.github.linwancen.plugin.show.doc; + +import org.jetbrains.annotations.Nullable; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.regex.Pattern; + +/** + * @see PsiDocToStrDoc + */ +class PsiDocToStrDocTest { + + public static final String[] STRS = { + "english. next", + "China。next", + "Class.field", + }; + + public static final String[] RESULT = { + "english. ", + "China。", + "Class.field", + }; + + public static final Pattern[] PATTERNS = { + Pattern.compile(".+?(?:[。\\r\\n]|\\. )"), + Pattern.compile("(.+?(?:。|. ))"), + Pattern.compile(""), + Pattern.compile("C()"), + }; + + /** + * @see PsiDocToStrDoc#getDoc + */ + @Test + void testGetDoc() { + for (int pi = 0; pi < PATTERNS.length; pi++) { + Pattern p = PATTERNS[pi]; + for (int si = 0; si < STRS.length; si++) { + String s = STRS[si]; + @Nullable String doc = PsiDocToStrDoc.getDoc(s, p); + String pattern = p.pattern(); + System.out.println("(" + s + ", " + pattern + "): " + doc); + if (pi < 2) { + Assertions.assertEquals(RESULT[si], doc); + } + } + System.out.println(); + } + } +} \ No newline at end of file diff --git a/src/test/java/io/github/linwancen/plugin/show/line/PsiClassSkipTest.java b/src/test/java/io/github/linwancen/plugin/show/line/PsiClassSkipTest.java index 4ea141b..9d5b699 100644 --- a/src/test/java/io/github/linwancen/plugin/show/line/PsiClassSkipTest.java +++ b/src/test/java/io/github/linwancen/plugin/show/line/PsiClassSkipTest.java @@ -13,17 +13,17 @@ import java.util.regex.Pattern; */ class PsiClassSkipTest { - public static final boolean o = true; - public static final boolean x = false; + private static final boolean o = true; + private static final boolean x = false; - String[] names = {"java", "io.a", "io.b"}; - Pattern[] includes = { + private static final String[] names = {"java", "io.a", "io.b"}; + private static final Pattern[] includes = { Pattern.compile(""), Pattern.compile("java"), Pattern.compile("io"), Pattern.compile("java|io"), }; - Pattern[] excludes = { + private static final Pattern[] excludes = { Pattern.compile(""), Pattern.compile("java"), Pattern.compile("io\\.b"),