summaryrefslogtreecommitdiff
path: root/tests/test-template-engine.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-template-engine.t')
-rw-r--r--tests/test-template-engine.t39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/test-template-engine.t b/tests/test-template-engine.t
new file mode 100644
index 0000000..9dafebf
--- /dev/null
+++ b/tests/test-template-engine.t
@@ -0,0 +1,39 @@
+
+ $ 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
+
+ $ cd ..