Mercurial > hg
annotate tests/test-template-engine.t @ 30129:d69d86e7d6c8
py3: test to check which commands run
This test helps us to keep track on the commands which runs to Python 3.
The full traceback is hidden. Thanks to Augie and Martijn to wrap it up
in four lines.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Sun, 09 Oct 2016 13:59:20 +0200 |
parents | d813132ea361 |
children | 511d6ae462f3 |
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): |
28957
d813132ea361
templater: load and expand aliases by template engine (API) (issue4842)
Yuya Nishihara <yuya@tcha.org>
parents:
28831
diff
changeset
|
7 > def __init__(self, loader, filters, defaults, aliases): |
12493
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 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12493
diff
changeset
|
38 |
17355
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
39 $ cat > changeset.txt << EOF |
17358
2917f82f6040
templatekw: merge, preferring the second implementation
Bryan O'Sullivan <bryano@fb.com>
parents:
17355
diff
changeset
|
40 > {{p1rev}} {{p1node}} {{p2rev}} {{p2node}} |
17355
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
41 > EOF |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
42 $ hg ci -Ama |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
43 $ hg log --style=./mymap |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
44 0 97e5f848f0936960273bbf75be6388cd0350a32b -1 0000000000000000000000000000000000000000 |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
45 -1 0000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000 |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
46 |
28831
6b86ce3e3576
templater: give better error message for invalid engine type
Yuya Nishihara <yuya@tcha.org>
parents:
28213
diff
changeset
|
47 invalid engine type: |
6b86ce3e3576
templater: give better error message for invalid engine type
Yuya Nishihara <yuya@tcha.org>
parents:
28213
diff
changeset
|
48 |
6b86ce3e3576
templater: give better error message for invalid engine type
Yuya Nishihara <yuya@tcha.org>
parents:
28213
diff
changeset
|
49 $ echo 'changeset = unknown:changeset.txt' > unknownenginemap |
6b86ce3e3576
templater: give better error message for invalid engine type
Yuya Nishihara <yuya@tcha.org>
parents:
28213
diff
changeset
|
50 $ hg log --style=./unknownenginemap |
6b86ce3e3576
templater: give better error message for invalid engine type
Yuya Nishihara <yuya@tcha.org>
parents:
28213
diff
changeset
|
51 abort: invalid template engine: unknown |
6b86ce3e3576
templater: give better error message for invalid engine type
Yuya Nishihara <yuya@tcha.org>
parents:
28213
diff
changeset
|
52 [255] |
6b86ce3e3576
templater: give better error message for invalid engine type
Yuya Nishihara <yuya@tcha.org>
parents:
28213
diff
changeset
|
53 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12493
diff
changeset
|
54 $ cd .. |