Jinjava tests
Tests allow you to return true/false values depending on the tested value.
You can find the snippets in our Github repository: https://github.com/Synerise/jinja-code-snippet
IsContainingAll
Returns true
if a list contains all the values from another list.
Input:
Type | Required | Description |
---|---|---|
list | yes | If this list contains all the items from the list provided in the params, the test returns true . |
Parameters:
Type | Required | Description |
---|---|---|
list | yes | The list that must be contained in the list provided as input |
Example:
{{ [1, 2, 3] is containingall [2, 3] }}
IsContaining
Returns true
if a list contains the provided value.
Input:
Type | Required | Description |
---|---|---|
list | yes | If this list contains the value provided in the parameters, the test returns true . |
Parameters:
Type | Required | Description |
---|---|---|
object | yes | The value to search for in the input list |
Example:
{{ [1, 2, 3] is containing 2 }}
IsDefined
Returns true
if the variable is defined.
Input:
Type | Required | Description |
---|---|---|
object | yes | The variable to check |
Example:
{%- if foo is defined -%}
<!--code to render if foo is defined-->
{%- else -%}
<!--code to render if foo is not defined-->
{%- endif -%}
IsDivisibleBy
Returns true
if a variable is divisible by a number.
Input:
Type | Required | Description |
---|---|---|
number | yes | The variable to check against the divisor |
Parameters:
Type | Required | Description |
---|---|---|
number | yes | The divisor |
Example:
{%- if foo is divisbleby 5 -%}
<!--code to render if foo can be divided by 5-->
{%- else -%}
<!--code to render if foo cannot be divided by 5-->
{%- endif -%}
IsEqualTo
Returns true
if an object has the same value as another object.
Input:
Type | Required | Description |
---|---|---|
object | yes | First object for comparison |
Parameters:
Type | Required | Description |
---|---|---|
object | yes | Second object for comparison |
Example:
{%- if foo is equalto 42 -%}
the foo attribute evaluates to the constant 42
{%- endif -%}
Usage with the selectattr filter:
{{ users|selectattr("email", "equalto", "foo@bar.invalid") }}
IsEven
Returns true
if a value is an even number.
Input:
Type | Required | Description |
---|---|---|
number | yes | The number to check |
Example:
{%- if foo is even -%}
<!--code to render if foo is an even number-->
{%- else -%}
<!--code to render if foo is an odd number-->
{%- endif -%}
IsIterable
Returns true
if the object is iterable (for example, a sequence).
Input:
Type | Required | Description |
---|---|---|
object | yes | The object to check |
Example:
{%- if foo is iterable -%}
<!--code to render if foo is iterable-->
{%- endif -%}
IsLower
Returns true
if a string is all lowercase.
Input:
Type | Required | Description |
---|---|---|
string | yes | The string to check |
Example:
{%- if foo is lower -%}
<!--code to render if the value of foo is all lowercase-->
{%- endif -%}
IsMapping
Returns true
if an object is a dictionary.
Input:
Type | Required | Description |
---|---|---|
object | yes | The object to check |
Example:
{%- if foo is mapping -%}
<!--code to render if foo is a dictionary-->
{%- endif -%}
IsNumber
Returns true
if the object is a number.
Input:
Type | Required | Description |
---|---|---|
object | yes | The object to check |
Example:
{%- if foo is number -%}
{{ foo * 1000000 }}
{%- else -%}
foo is not a number.
{%- endif -%}
IsOdd
Returns true
if a number is an odd number.
Input:
Type | Required | Description |
---|---|---|
number | yes | The number to check |
Example:
{%- if foo is odd -%}
<!--code to render if foo is an odd number-->
{%- else -%}
<!--code to render if foo is an even number-->
{%- endif -%}
IsSameAs
Returns true
if a variable points at same object as another variable.
Input:
Type | Required | Description |
---|---|---|
object | yes | The first variable to compare |
Parameters:
Type | Required | Description |
---|---|---|
object | yes | The second variable to compare |
Example:
{%- if var_one is sameas var_two -%}
<!--code to render if the variables have identical values-->
{%- endif -%}
IsSequence
Returns true
if the variable is a sequence. Sequences are variables that are iterable.
Input:
Type | Required | Description |
---|---|---|
object | yes | The object to check |
Example:
{%- if foo is sequence -%}
<!--code to render foo is a sequence-->
{%- endif -%}
IsStringContaining
Returns true
if an object is a string which contains a specified other string.
Input:
Type | Required | Description |
---|---|---|
string | yes | The string that needs to contain the string provided as the parameter |
Parameters:
Type | Required | Description |
---|---|---|
string | yes | The string that needs to be included in the string provided as input |
Example:
{%- if foo is string_containing 'bar' -%}
!--code to render if foo contains 'bar' -->
{%- endif -%}
IsString
Returns true
if an object is a string.
Input:
Type | Required | Description |
---|---|---|
object | yes | The object to check |
Example:
{%- if foo is string -%}
<!--code to render if foo is a string-->
{%- endif -%}
IsStringStartingWith
Returns true
if an object is a string which starts with a specified other string.
Input:
Type | Required | Description |
---|---|---|
string | yes | The string that needs to start with the string provided as the parameter |
Parameters:
Type | Required | Description |
---|---|---|
string | yes | The string to check against |
Example:
{%- if foo is string_startingwith 'bar' -%}
<!--code to render if foo starts with 'bar'-->
{%- endif -%}
IsTruthy
Returns true
if a value is truthy.
Truthy means not 0
, false
,null
, or an empty string (a string that consists exclusively of whitespaces is not considered empty).
Input:
Type | Required | Description |
---|---|---|
value | yes | The value to check |
Example:
{%- if foo is truthy -%}
<!--code to render if foo is truthy-->
{%- endif -%}
IsUndefined
Returns true
if an object is undefined.
Input:
Type | Required | Description |
---|---|---|
object | yes | The object to check |
Example:
{%- if foo is undefined -%}
<!--code to render if foo is undefined-->
{%- endif -%}
IsUpper
Returns true
if a string is all uppercase.
Input:
Type | Required | Description |
---|---|---|
string | yes | The string to check |
Example:
{%- if foo is upper -%}
<!-- code to render if foo is a string and is all uppercase -->
{%- endif -%}
IsWithin
Returns true
if a value is contained in a list.
Input:
Type | Required | Description |
---|---|---|
object | yes | The value to search for in the list |
Parameters:
Type | Required | Description |
---|---|---|
list | yes | The list to search in |
Example:
{{ 2 is within [1, 2, 3] }}