|
// retoor <retoor@molodetz.nl>
|
|
|
|
import "jinja" for Environment, DictLoader
|
|
|
|
var env = Environment.new(DictLoader.new({
|
|
"base": "[{\% block content \%}BASE{\% endblock \%}]",
|
|
"child": "{\% extends \"base\" \%}{\% block content \%}CHILD{\% endblock \%}",
|
|
"multi_block_base": "A:{\% block a \%}a{\% endblock \%} B:{\% block b \%}b{\% endblock \%}",
|
|
"multi_block_child": "{\% extends \"multi_block_base\" \%}{\% block a \%}A{\% endblock \%}",
|
|
"grandparent": "[{\% block x \%}GP{\% endblock \%}]",
|
|
"parent": "{\% extends \"grandparent\" \%}{\% block x \%}P{\% endblock \%}",
|
|
"grandchild": "{\% extends \"parent\" \%}{\% block x \%}GC{\% endblock \%}",
|
|
"super_base": "[{\% block s \%}BASE{\% endblock \%}]",
|
|
"super_child": "{\% extends \"super_base\" \%}{\% block s \%}{{ super() }}+CHILD{\% endblock \%}"
|
|
}))
|
|
|
|
System.print(env.getTemplate("base").render({})) // expect: [BASE]
|
|
System.print(env.getTemplate("child").render({})) // expect: [CHILD]
|
|
System.print(env.getTemplate("multi_block_base").render({})) // expect: A:a B:b
|
|
System.print(env.getTemplate("multi_block_child").render({})) // expect: A:A B:b
|
|
System.print(env.getTemplate("grandchild").render({})) // expect: [GC]
|
|
System.print(env.getTemplate("super_child").render({})) // expect: [BASE+CHILD]
|