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
	 Tom Alexander
						Tom Alexander