==================
If Basic
==================

{% if user.is_authenticated %}
Hi
{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier)
              (attribute)))))
      (template
        (content))))
  (content))

==================
If With Not
==================

{% if not done %}
working
{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier)))))
      (template
        (content))))
  (content))

==================
If With Elif And Else
==================

{% if count == 1 %}
one
{% elif count == 2 %}
two
{% else %}
other
{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (literal
              (number)))))
      (template
        (content)))
    (elif_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (literal
              (number)))))
      (template
        (content)))
    (else_clause
      (template
        (content))))
  (content))

==================
If With Complex Predicate
==================

{% if not done and count in valid_counts and status is not none or tags|length >= 3 %}
yes
{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier)))
          (filter_expression
            (filter)))
        (binaryOperator)
        (filtered_value
          (value
            (literal
              (number)))))
      (template
        (content))))
  (content))

==================
If Operator Adjacent To Value
:error
==================

{% if 1and 2 %}yes{% endif %}

---

==================
If Is Not None
==================

{% if status is not None %}yes{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (literal
              (none)))))
      (template
        (content))))
  (content))

==================
If Is
==================

{% if x is y %}a{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier)))))
      (template
        (content))))
  (content))

==================
If Is Not
==================

{% if x is not y %}a{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier)))))
      (template
        (content))))
  (content))

==================
If Is Not Not
==================

{% if x is not not y %}a{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier)))))
      (template
        (content))))
  (content))

==================
If With A Repeated Not
==================

{% if not not x %}a{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier)))))
      (template
        (content))))
  (content))

==================
If Not Before A Name Beginning With In
==================

{% if not in_stock %}a{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier)))))
      (template
        (content))))
  (content))

==================
If Is Before A Name Beginning With Not
==================

{% if x is nothing %}a{% endif %}

---

(template
  (content)
  (if_group
    (if_clause
      (predicate
        (filtered_value
          (value
            (variable_attribute
              (identifier))))
        (binaryOperator)
        (filtered_value
          (value
            (variable_attribute
              (identifier)))))
      (template
        (content))))
  (content))
