##// END OF EJS Templates
cmdutil: extract ctx dependent closures into templatekw
cmdutil: extract ctx dependent closures into templatekw

File last commit:

r10054:1a85861f default
r10054:1a85861f default
Show More
test-template-engine
39 lines | 810 B | text/plain | TextLexer
/ tests / test-template-engine
Dirkjan Ochtman
templater: make the templating engine pluggable to some extent
r8361 #!/bin/sh
cat > engine.py << EOF
from mercurial import templater
class mytemplater(object):
def __init__(self, loader, filters, defaults):
self.loader = loader
def process(self, t, map):
tmpl = self.loader(t)
for k, v in map.iteritems():
Patrick Mezard
cmdutil: extract ctx dependent closures into templatekw
r10054 if k in ('templ', 'ctx'):
continue
if hasattr(v, '__call__'):
v = v(**map)
Dirkjan Ochtman
templater: make the templating engine pluggable to some extent
r8361 v = templater.stringify(v)
tmpl = tmpl.replace('{{%s}}' % k, v)
yield tmpl
templater.engines['my'] = mytemplater
EOF
hg init test
echo '[extensions]' > test/.hg/hgrc
David Champion
Bourne shells do not maintain $PWD; update tests accordingly
r9044 echo "engine = `pwd`/engine.py" >> test/.hg/hgrc
Dirkjan Ochtman
templater: make the templating engine pluggable to some extent
r8361
cd test
cat > mymap << EOF
changeset = my:changeset.txt
EOF
cat > changeset.txt << EOF
{{rev}} {{node}} {{author}}
EOF
hg ci -Ama
hg log --style=./mymap