Add a test for gte.
This commit is contained in:
parent
7d4cb14530
commit
02abee1c53
@ -1,7 +1,19 @@
|
||||
Based on my tests, it appears dust is sorting based on ascii-table values. This also appears to extend to unicode codepoints based on a symbols test.
|
||||
|
||||
Greater than follows the same pattern for not rendering when key is omitted or null.
|
||||
|
||||
|
||||
greater than
|
||||
------------
|
||||
|
||||
All comparisons between non-matching types (for example, int vs string) appear to render the else block.
|
||||
|
||||
Comparisons between non-scalar types (like arrays) appears to render the else block.
|
||||
Comparisons between non-scalar types (like arrays) appears to render the else block
|
||||
|
||||
Greater than follows the same pattern for not rendering when key is omitted or null.
|
||||
|
||||
greater than or equals to
|
||||
-------------------------
|
||||
|
||||
All comparisons between non-matching types (for example, int vs string) appear to render the main block.
|
||||
|
||||
Comparisons between non-scalar types (like arrays) appears to render the main block
|
||||
|
60
js/test_cases/helpers_gte/input1.json
Normal file
60
js/test_cases/helpers_gte/input1.json
Normal file
@ -0,0 +1,60 @@
|
||||
{
|
||||
"str": "master",
|
||||
"int": 7,
|
||||
"alpha": 21,
|
||||
"beta": "21",
|
||||
"null": null,
|
||||
"true_value": true,
|
||||
"false_value": false,
|
||||
"array_lower": [
|
||||
3,
|
||||
5,
|
||||
7
|
||||
],
|
||||
"copy_array_lower": [
|
||||
3,
|
||||
5,
|
||||
7
|
||||
],
|
||||
"array_higher": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"some_obj": {
|
||||
"name": "cat"
|
||||
},
|
||||
"copy_some_obj": {
|
||||
"name": "cat"
|
||||
},
|
||||
"other_obj": {
|
||||
"name": "dog"
|
||||
},
|
||||
"array_of_some_obj": [
|
||||
{
|
||||
"name": "cat"
|
||||
},
|
||||
{
|
||||
"name": "cat"
|
||||
}
|
||||
],
|
||||
"copy_array_of_some_obj": [
|
||||
{
|
||||
"name": "cat"
|
||||
},
|
||||
{
|
||||
"name": "cat"
|
||||
}
|
||||
],
|
||||
"array_of_other_obj": [
|
||||
{
|
||||
"name": "dog"
|
||||
},
|
||||
{
|
||||
"name": "dog"
|
||||
}
|
||||
],
|
||||
"array_of_strings": [
|
||||
"cat",
|
||||
"dog"
|
||||
]
|
||||
}
|
35
js/test_cases/helpers_gte/main.dust
Normal file
35
js/test_cases/helpers_gte/main.dust
Normal file
@ -0,0 +1,35 @@
|
||||
Testing helpers:{~n}
|
||||
str is {str}{~n}
|
||||
int is {int}{~n}
|
||||
alpha is {alpha}{~n}
|
||||
beta is {beta}{~n}
|
||||
{@gte key=str value="master"}str is greater than or equal to "master"{:else}str is less than "master"{/gte}{~n}
|
||||
{@gte key=str value="7"}str is greater than or equal to "7"{:else}str is less than "7"{/gte}{~n}
|
||||
{@gte key=int value="7"}int is greater than or equal to "7"{:else}int is less than "7"{/gte}{~n}
|
||||
{@gte key=int value=7}int is greater than or equal to 7{:else}int is less than 7{/gte}{~n}
|
||||
{@gte key=int value=6}int is greater than or equal to 6{:else}int is less than 6{/gte}{~n}
|
||||
{@gte key=alpha value=beta}alpha is greater than or equal to beta{:else}alpha is less than beta{/gte}{~n}
|
||||
{@gte value=beta}missing key is true{:else}missing key is false{/gte}{~n}
|
||||
{@gte value=gamma}missing key and non-existent value is true{:else}missing key and non-existent value is false{/gte}{~n}
|
||||
{@gte key=alpha}missing value is true{:else}missing value is false{/gte}{~n}
|
||||
{@gte key=gamma}missing value and non-existent key is true{:else}missing value and non-existent key is false{/gte}{~n}
|
||||
{@gte key="master" value="master"}"master" is greater than or equal to "master"{:else}"master" is less than "master"{/gte}{~n}
|
||||
{@gte key=null}null is greater than or equal to a missing value{:else}null is less than a missing value{/gte}{~n}
|
||||
{@gte key=null value=gamma}null is greater than or equal to a non-existent value{:else}null is less than a non-existent value{/gte}{~n}
|
||||
{@gte}no parameters is true{:else}no parameters is false{/gte}{~n}
|
||||
{@gte key="a" value="]"}"a" is greater than or equal to "]"{:else}"a" is less than "]"{/gte}{~n}
|
||||
{@gte key="a" value="A"}"a" is greater than or equal to "A"{:else}"a" is less than "A"{/gte}{~n}
|
||||
{@gte key="a" value="}"}"a" is greater than or equal to "}"{:else}"a" is less than "}"{/gte}{~n}
|
||||
{@gte key="☃" value="☄"}"☃" is greater than or equal to "☄"{:else}"☃" is less than "☄"{/gte}{~n}
|
||||
{@gte key=true_value value=false_value}true is greater than or equal to false{:else}true is less than false{/gte}{~n}
|
||||
{@gte key=array_lower value=array_higher}[3,5,7] is greater than or equal to [8,9]{:else}[3,5,7] is less than [8,9]{/gte}{~n}
|
||||
{@gte key=array_higher value=array_lower}[8,9] is greater than or equal to [3,5,7]{:else}[8,9] is less than [3,5,7]{/gte}{~n}
|
||||
{! non-scalar and copied value tests !}
|
||||
{@gte key=array_lower value=array_lower}array_lower is greater than or equal to array_lower{:else}array_lower is less than array_lower{/gte}{~n}
|
||||
{@gte key=array_lower value=copy_array_lower}array_lower is greater than or equal to copy_array_lower{:else}array_lower is less than copy_array_lower{/gte}{~n}
|
||||
{@gte key=some_obj value=some_obj}some_obj is greater than or equal to some_obj{:else}some_obj is less than some_obj{/gte}{~n}
|
||||
{@gte key=some_obj value=copy_some_obj}some_obj is greater than or equal to copy_some_obj{:else}some_obj is less than copy_some_obj{/gte}{~n}
|
||||
{@gte key=some_obj value=other_obj}some_obj is greater than or equal to other_obj{:else}some_obj is less than other_obj{/gte}{~n}
|
||||
{@gte key=array_of_some_obj value=array_of_some_obj}array_of_some_obj is greater than or equal to array_of_some_obj{:else}array_of_some_obj is less than array_of_some_obj{/gte}{~n}
|
||||
{@gte key=array_of_some_obj value=copy_array_of_some_obj}array_of_some_obj is greater than or equal to copy_array_of_some_obj{:else}array_of_some_obj is less than copy_array_of_some_obj{/gte}{~n}
|
||||
{@gte key=array_of_some_obj value=array_of_other_obj}array_of_some_obj is greater than or equal to array_of_other_obj{:else}array_of_some_obj is less than array_of_other_obj{/gte}{~n}
|
@ -334,6 +334,13 @@ impl<'a> DustRenderer<'a> {
|
||||
}
|
||||
}
|
||||
}
|
||||
DustTag::DTHelperGreaterThan(parameterized_block) => {
|
||||
let param_map: HashMap<&str, &RValue<'a>> = parameterized_block
|
||||
.params
|
||||
.iter()
|
||||
.map(|pair: &KVPair<'a>| (pair.key, &pair.value))
|
||||
.collect();
|
||||
}
|
||||
_ => (), // TODO: Implement the rest
|
||||
}
|
||||
Ok("".to_owned())
|
||||
|
Loading…
x
Reference in New Issue
Block a user