diff tests/test-template-engine.t @ 12493:dc6b9b3bf63e

tests: unify test-template-engine
author Matt Mackall <mpm@selenic.com>
date Sun, 26 Sep 2010 13:44:49 -0500
parents tests/test-template-engine@babc00a82c5e
children f2719b387380
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-template-engine.t	Sun Sep 26 13:44:49 2010 -0500
@@ -0,0 +1,37 @@
+
+  $ 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():
+  >             if k in ('templ', 'ctx', 'repo', 'revcache', 'cache'):
+  >                 continue
+  >             if hasattr(v, '__call__'):
+  >                 v = v(**map)
+  >             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
+  $ echo "engine = `pwd`/engine.py" >> test/.hg/hgrc
+  $ cd test
+  $ cat > mymap << EOF
+  > changeset = my:changeset.txt
+  > EOF
+  $ cat > changeset.txt << EOF
+  > {{rev}} {{node}} {{author}}
+  > EOF
+  $ hg ci -Ama
+  adding changeset.txt
+  adding mymap
+  $ hg log --style=./mymap
+  0 97e5f848f0936960273bbf75be6388cd0350a32b test