!851 添加一个简单的占位符解析器

Merge pull request !851 from Createsequence/v6-placeholder
This commit is contained in:
Looly
2022-11-13 14:07:34 +00:00
committed by Gitee
2 changed files with 208 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package cn.hutool.core.text;
import org.junit.Assert;
import org.junit.Test;
/**
* test for {@link PlaceholderParser}
*
* @author huangchengxing
*/
public class PlaceholderParserTest {
@Test
public void testParse() {
String text = "i {a}{m} a {jvav} programmer";
PlaceholderParser parser = new PlaceholderParser(str -> str, "{", "}");
Assert.assertEquals(
"i am a jvav programmer",
parser.apply(text)
);
text = "i [a][m] a [jvav] programmer";
parser = new PlaceholderParser(str -> str, "[", "]");
Assert.assertEquals(
"i am a jvav programmer",
parser.apply(text)
);
text = "i \\[a][[m\\]] a [jvav] programmer";
parser = new PlaceholderParser(str -> str, "[", "]");
Assert.assertEquals(
"i [a][m] a jvav programmer",
parser.apply(text)
);
text = "i /[a][[m/]] a [jvav] programmer";
parser = new PlaceholderParser(str -> str, "[", "]", '/');
Assert.assertEquals(
"i [a][m] a jvav programmer",
parser.apply(text)
);
}
}