|
// retoor <retoor@molodetz.nl>
|
|
|
|
import "jinja" for Environment, DictLoader
|
|
|
|
var env = Environment.new(DictLoader.new({
|
|
"if_true": "{\% if show \%}visible{\% endif \%}",
|
|
"if_false": "{\% if hide \%}visible{\% endif \%}",
|
|
"if_else": "{\% if show \%}yes{\% else \%}no{\% endif \%}",
|
|
"if_elif": "{\% if x == 1 \%}one{\% elif x == 2 \%}two{\% else \%}other{\% endif \%}",
|
|
"compare": "{\% if a > b \%}greater{\% elif a < b \%}less{\% else \%}equal{\% endif \%}",
|
|
"and_or": "{\% if a and b \%}both{\% elif a or b \%}one{\% else \%}none{\% endif \%}",
|
|
"not": "{\% if not hidden \%}shown{\% endif \%}",
|
|
"in_list": "{\% if item in items \%}found{\% else \%}missing{\% endif \%}",
|
|
"is_even": "{\% if num is even \%}even{\% else \%}odd{\% endif \%}",
|
|
"is_defined": "{\% if var is defined \%}defined{\% else \%}undefined{\% endif \%}",
|
|
"is_not": "{\% if num is not odd \%}not odd{\% endif \%}",
|
|
"ternary": "{{ \"yes\" if show else \"no\" }}"
|
|
}))
|
|
|
|
System.print(env.getTemplate("if_true").render({"show": true})) // expect: visible
|
|
System.print(env.getTemplate("if_false").render({"hide": false})) // expect:
|
|
System.print(env.getTemplate("if_else").render({"show": false})) // expect: no
|
|
System.print(env.getTemplate("if_elif").render({"x": 2})) // expect: two
|
|
System.print(env.getTemplate("compare").render({"a": 5, "b": 3})) // expect: greater
|
|
System.print(env.getTemplate("and_or").render({"a": true, "b": false})) // expect: one
|
|
System.print(env.getTemplate("not").render({"hidden": false})) // expect: shown
|
|
System.print(env.getTemplate("in_list").render({"item": "b", "items": ["a", "b", "c"]})) // expect: found
|
|
System.print(env.getTemplate("is_even").render({"num": 4})) // expect: even
|
|
System.print(env.getTemplate("is_defined").render({"var": "something"})) // expect: defined
|
|
System.print(env.getTemplate("is_defined").render({})) // expect: undefined
|
|
System.print(env.getTemplate("is_not").render({"num": 4})) // expect: not odd
|
|
System.print(env.getTemplate("ternary").render({"show": true})) // expect: yes
|