simpletemplatetest.groovy
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 58 行
GROOVY
58 行
package groovy.text
class SimpleTemplateTest extends GroovyTestCase {
void testSimpleCallFromGroovyEmpty() {
assertEquals('', simpleCall(''))
}
void testSimpleCallFromGroovyStatic() {
def input = 'some static text'
assertEquals(input, simpleCall(input))
}
void testExpressionAssign() {
assertEquals('1', simpleCall('<%=1%>'))
assertEquals(' 1', simpleCall(' <%=1%>'))
assertEquals(' 1 ', simpleCall(' <%=1%> '))
assertEquals(' 1 ', simpleCall(' <%= 1%> '))
assertEquals(' 1 ', simpleCall(' <%= 1 %> '))
assertEquals(' 1 ', simpleCall(" <%=\n 1 \n%> "))
assertEquals(' 1', bindingCall([a:1],' <%=a%>'))
}
void testExpressionEval() {
assertEquals('1', simpleCall('<%print(1)%>'))
assertEquals('01', simpleCall('<%for(i in 0..1){print(i)}%>'))
}
void testWithMarkupBuilder(){
def text = '''<%
builder = new groovy.xml.MarkupBuilder(out)
[1,2,3].each{ count ->
out.print(1)
}
%>'''
assertEquals('111', simpleCall(text))
}
void testWithMarkupBuilderWithSemicolons(){
def text = '''<%
builder = new groovy.xml.MarkupBuilder(out);
[1,2,3].each{ count ->
out.print(1);
}
%>'''
assertEquals('111', simpleCall(text))
}
String simpleCall(input){
bindingCall([:], input)
}
String bindingCall(binding, input){
def template = new SimpleTemplateEngine(true).createTemplate(input)
return template.make(binding).toString()
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?