# @todo expand !! functionhooks var !! endfunctionhooks !! test #vardefine, #vardefineecho and #var !! input {{#vardefine: a | Test }} "{{#var: a }}" "{{#vardefineecho: a | Test 2 }}, {{#var: a }}" !!result

"Test" "Test 2, Test 2"

!! end !! test #varexists !! input {{#varexists: a }}{{#vardefine: a }} "{{#varexists: a }}" !!result

"1"

!! end !! test #var_final !! input "{{#var_final: a }}" {{#vardefine: a | something }}"{{#var: a }}" {{#vardefine: a | final }}"{{#var_final: a }}" !!result

"final" "something" "final"

!! end !! test Variables should not be reset on special page inclusion (old bug, solved in Variables 2.0) !! input {{#vardefine: a | 1 }}{{#vardefine: | {{Special:AllPages}} }} "{{#var: a }}" !!result

"1"

!! end