Add a test case for the math helper and add else blocks to the select test.

This commit is contained in:
Tom Alexander
2020-06-13 11:45:45 -04:00
parent c06cc61a07
commit c5db1cea8f
5 changed files with 85 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
Early termination
-----------------
If the math helper has a body then it stops rendering conditionals after the first conditional that returns true. Rendering an else block does not cause early termination, but else blocks are rendered.

View File

@@ -0,0 +1,5 @@
{
"number_7": 7,
"string_7": "7",
"string_cat": "cat"
}

View File

@@ -0,0 +1,58 @@
Bodiless math{~n}
============={~n}
{@math key="7" method="add" operand="4" /}{~n}
{@math key=number_7 method="add" operand="4" /}{~n}
{@math key=string_7 method="add" operand="4" /}{~n}
{@math key=string_cat method="add" operand="4" /}{~n}
Math with body: dot reference{~n}
============================={~n}
{@math key="7" method="add" operand="4"}
{.}{~n}
{/math}
Math with body: eq literal{~n}
=========================={~n}
{@math key="7" method="add" operand="4"}
{@eq value=11}math result is 11{:else}math result is not 11{/eq}{~n}
{/math}
Math with body: eq string{~n}
========================={~n}
{@math key="7" method="add" operand="4"}
{@eq value="11"}math result is "11"{:else}math result is not "11"{/eq}{~n}
{/math}
Math with body: eq else block{~n}
============================={~n}
{@math key="7" method="add" operand="4"}
{@eq value=12}math result is 12{:else}math result is not 12{/eq}{~n}
{/math}
Math with body: standalone eq{~n}
============================={~n}
{@math key="7" method="add" operand="4"}
{@eq key=12 value=12}12 is 12{:else}12 is not 12{/eq}{~n}
{/math}
Math with body: standalone else block{~n}
====================================={~n}
{@math key="7" method="add" operand="4"}
{@eq key=11 value=12}11 is 12{:else}11 is not 12{/eq}{~n}
{/math}
Math with body: early termination{~n}
============================={~n}
{@math key="7" method="add" operand="4"}
{@eq value=11}math result is 11{:else}math result is not 11{/eq}{~n}
{@eq value=11}math result is 11{:else}math result is not 11{/eq}{~n}
{/math}
Math with body: early termination else block{~n}
============================================{~n}
{@math key="7" method="add" operand="4"}
{@eq value=12}math result is 12{:else}math result is not 12{/eq}{~n}
{@eq value=11}math result is 11{:else}math result is not 11{/eq}{~n}
{@eq value=12}math result is 12{:else}math result is not 12{/eq}{~n}
{/math}