Mercurial > hg
annotate tests/test-template-engine.t @ 14616:64dfbe576455
sslutil: Restore missing imports of socket and httplib to sslutil
Two imports were omitted in the restructure of the code creating
sslutil.py, socket and httplib are required when the 'ssl' module
cannot be imported, restoring these imports allows mercurial to run
on python2.4+2.5.
author | Stephen Thorne <stephen@thorne.id.au> |
---|---|
date | Tue, 14 Jun 2011 13:31:32 +1000 |
parents | dc6b9b3bf63e |
children | f2719b387380 |
rev | line source |
---|---|
8361
d8c5a7f25a40
templater: make the templating engine pluggable to some extent
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
1 |
12493
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
2 $ cat > engine.py << EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
3 > |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
4 > from mercurial import templater |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
5 > |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
6 > class mytemplater(object): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
7 > def __init__(self, loader, filters, defaults): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
8 > self.loader = loader |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
9 > |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
10 > def process(self, t, map): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
11 > tmpl = self.loader(t) |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
12 > for k, v in map.iteritems(): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
13 > if k in ('templ', 'ctx', 'repo', 'revcache', 'cache'): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
14 > continue |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
15 > if hasattr(v, '__call__'): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
16 > v = v(**map) |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
17 > v = templater.stringify(v) |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
18 > tmpl = tmpl.replace('{{%s}}' % k, v) |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
19 > yield tmpl |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
20 > |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
21 > templater.engines['my'] = mytemplater |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
22 > EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
23 $ hg init test |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
24 $ echo '[extensions]' > test/.hg/hgrc |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
25 $ echo "engine = `pwd`/engine.py" >> test/.hg/hgrc |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
26 $ cd test |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
27 $ cat > mymap << EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
28 > changeset = my:changeset.txt |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
29 > EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
30 $ cat > changeset.txt << EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
31 > {{rev}} {{node}} {{author}} |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
32 > EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
33 $ hg ci -Ama |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
34 adding changeset.txt |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
35 adding mymap |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
36 $ hg log --style=./mymap |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
37 0 97e5f848f0936960273bbf75be6388cd0350a32b test |