lite
Version:
A cross platform template engine base on xml/html and javascript expression.
59 lines • 1.91 kB
text/xml
<test>
<unit title="循环控制">
<model>
{
ivalue:3,
array:[0,'',null],
string:"JSON 功能测试'\"",
object:{aa:1,bB:2,CC:[1]}
}
</model>
<case title="for .. 范围迭代语法">
<source><![CDATA[<c:for var="f1" list="${[-1..ivalue]}">${f1}</c:for>]]></source>
<expect>-10123</expect>
</case>
<case title="for .. 范围迭代语法2">
<source><![CDATA[<c:for var="f1" list="${[-3..-1]}">${f1}</c:for>]]></source>
<expect>-3-2-1</expect>
</case>
<case title="for 迭代次数语法">
<source><![CDATA[<c:for var="f1" list="${ivalue}">${for.index}</c:for>]]></source>
<expect>012</expect>
</case>
<case title="for.index测试">
<source><![CDATA[<c:for var="f1" list="${array}">${for.index}</c:for>]]></source>
<expect>012</expect>
</case>
<case title="for Array测试">
<source><![CDATA[<c:for var="f1" list="${Array(3)}">${for.index}${for.lastIndex}</c:for>]]></source>
<expect>021222</expect>
</case>
<case title="for 优化">
<source><![CDATA[<c:for
var="f1" list="${{a:1,b:2}}">${for.index}<c:for
var="f2" list='${Array(1)}'>${f1}${for.index}</c:for></c:for>]]></source>
<expect>0a01b0</expect>
</case>
<case title="for 优化">
<source><![CDATA[<c:for
var="f1" list="${{a:1,b:2}}"><c:for
var="f2" list='${Array(1)}'>${f1}${for.index}</c:for>${for.lastIndex}</c:for>]]></source>
<expect>a01b01</expect>
</case>
<case title="for else">
<source><![CDATA[<c:for
var="f1" list="${[0]}">for</c:for><c:else>else</c:else>]]></source>
<expect>for</expect>
</case>
<case title="for else">
<source><![CDATA[<c:for
var="f1" list="${0}">for</c:for><c:else>else</c:else>]]></source>
<expect>else</expect>
</case>
<case title="for else">
<source><![CDATA[<c:for
var="f1" list="${[]}">for</c:for><c:else>else</c:else>]]></source>
<expect>else</expect>
</case>
</unit>
</test>