Jinjava tests

Tests allow you to return true/false values depending on the tested value.

Tip: If you use Visual Studio Code as your editor, you can use code snippets to speed up working with inserts.
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 divisibleby 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. IsTruthy follows the same implicit conversion rules as {% if %} conditions. For == and !=, type conversion applies only when the other operand is a boolean.

Input type Returns true Returns false
Boolean true false
Number Any non-zero number 0
String Any non-empty string, except "false" "" (empty string) or "false"
null Never Always
Collection (list, map) Non-empty Empty
Any other type Always Never
Note: The |bool filter uses stricter conversion rules and can return a different result from is truthy for the same input. For example, 'string' is truthy returns true, but 'string'|bool returns false.

Input:

Type Required Description
value yes The value to check

Example:

{%- if foo is truthy -%}
    {# code to render if foo is truthy #}
{%- endif -%}
Tip: For strict type-and-value equality without any boolean conversion, use the sameas test. Unlike is truthy, sameas checks that two values are identical without type coercion. For example, "1" == true returns true due to boolean conversion, but "1" is sameas true returns false because the types differ.

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] }}
😕

We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

😉

Awesome!

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

Close modal icon Placeholder alt for modal to satisfy link checker