Jinjava tests
Tests allow you to return true/false values depending on the tested value.
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] }}