Testing helpers:{~n} str is {str}{~n} int is {int}{~n} alpha is {alpha}{~n} beta is {beta}{~n} {@lte key=str value="master"}str is less than or equal to "master"{:else}str is greater than "master"{/lte}{~n} {@lte key=str value="7"}str is less than or equal to "7"{:else}str is greater than "7"{/lte}{~n} {@lte key=int value="7"}int is less than or equal to "7"{:else}int is greater than "7"{/lte}{~n} {@lte key=int value=7}int is less than or equal to 7{:else}int is greater than 7{/lte}{~n} {@lte key=int value=6}int is less than or equal to 6{:else}int is greater than 6{/lte}{~n} {@lte key=alpha value=beta}alpha is less than or equal to beta{:else}alpha is greater than beta{/lte}{~n} {@lte value=beta}missing key is true{:else}missing key is false{/lte}{~n} {@lte value=gamma}missing key and non-existent value is true{:else}missing key and non-existent value is false{/lte}{~n} {@lte key=alpha}missing value is true{:else}missing value is false{/lte}{~n} {@lte key=gamma}missing value and non-existent key is true{:else}missing value and non-existent key is false{/lte}{~n} {@lte key="master" value="master"}"master" is less than or equal to "master"{:else}"master" is greater than "master"{/lte}{~n} {@lte key=null}null is less than or equal to a missing value{:else}null is greater than a missing value{/lte}{~n} {@lte key=null value=gamma}null is less than or equal to a non-existent value{:else}null is greater than a non-existent value{/lte}{~n} {@lte}no parameters is true{:else}no parameters is false{/lte}{~n} {@lte key="a" value="]"}"a" is less than or equal to "]"{:else}"a" is greater than "]"{/lte}{~n} {@lte key="a" value="A"}"a" is less than or equal to "A"{:else}"a" is greater than "A"{/lte}{~n} {@lte key="a" value="}"}"a" is less than or equal to "}"{:else}"a" is greater than "}"{/lte}{~n} {! Commented out because unicode breaks nom {@lte key="☃" value="☄"}"☃" is less than or equal to "☄"{:else}"☃" is greater than "☄"{/lte}{~n} !} {@lte key=true_value value=false_value}true is less than or equal to false{:else}true is greater than false{/lte}{~n} {@lte key=array_lower value=array_higher}[3,5,7] is less than or equal to [8,9]{:else}[3,5,7] is greater than [8,9]{/lte}{~n} {@lte key=array_higher value=array_lower}[8,9] is less than or equal to [3,5,7]{:else}[8,9] is greater than [3,5,7]{/lte}{~n} {! non-scalar and copied value tests !} {@lte key=array_lower value=array_lower}array_lower is less than or equal to array_lower{:else}array_lower is greater than array_lower{/lte}{~n} {@lte key=array_lower value=copy_array_lower}array_lower is less than or equal to copy_array_lower{:else}array_lower is greater than copy_array_lower{/lte}{~n} {@lte key=some_obj value=some_obj}some_obj is less than or equal to some_obj{:else}some_obj is greater than some_obj{/lte}{~n} {@lte key=some_obj value=copy_some_obj}some_obj is less than or equal to copy_some_obj{:else}some_obj is greater than copy_some_obj{/lte}{~n} {@lte key=some_obj value=other_obj}some_obj is less than or equal to other_obj{:else}some_obj is greater than other_obj{/lte}{~n} {@lte key=array_of_some_obj value=array_of_some_obj}array_of_some_obj is less than or equal to array_of_some_obj{:else}array_of_some_obj is greater than array_of_some_obj{/lte}{~n} {@lte key=array_of_some_obj value=copy_array_of_some_obj}array_of_some_obj is less than or equal to copy_array_of_some_obj{:else}array_of_some_obj is greater than copy_array_of_some_obj{/lte}{~n} {@lte key=array_of_some_obj value=array_of_other_obj}array_of_some_obj is less than or equal to array_of_other_obj{:else}array_of_some_obj is greater than array_of_other_obj{/lte}{~n} {@lte key=array_higher value=array_higher_longer}array_higher is less than or equal to array_higher_longer{:else}array_higher is greater than array_higher_longer{/lte}{~n} {@lte key=array_lower value=array_lower_with_array}array_lower is less than or equal to array_lower_with_array{:else}array_lower is greater than array_lower_with_array{/lte}{~n} {@lte key=array_lower_with_array value=array_lower}array_lower_with_array is less than or equal to array_lower{:else}array_lower_with_array is greater than array_lower{/lte}{~n}