sapling/eden/scm/tests/test-template-engine.t
Jun Wu 1ce0eea5dc tests: remove some uses of rev numbers in templates
Summary: Done by `sed`.

Reviewed By: singhsrb

Differential Revision: D24173576

fbshipit-source-id: f1d042b3da7f9b64e0e40b19317364e5cb9ae946
2020-10-07 21:22:58 -07:00

61 lines
1.6 KiB
Raku

#require py2
#chg-compatible
$ cat > engine.py << EOF
>
> from edenscm.mercurial import templater
>
> class mytemplater(object):
> def __init__(self, loader, filters, defaults, aliases):
> self.loader = loader
>
> def process(self, t, map):
> tmpl = self.loader(t)
> for k, v in map.items():
> if k in ('templ', 'ctx', 'repo', 'revcache', 'cache', 'troubles'):
> continue
> if hasattr(v, '__call__'):
> try:
> v = v(**map)
> except Exception:
> continue
> 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
> {{node}} {{author}}
> EOF
$ hg ci -Ama
adding changeset.txt
adding mymap
$ hg log --style=./mymap
2f04b59c016f1d0c60862a585c7c0280bfde0a47 test
$ cat > changeset.txt << EOF
> {{p1rev}} {{p1node}} {{p2rev}} {{p2node}}
> EOF
$ hg ci -Ama
$ hg log --style=./mymap
0 2f04b59c016f1d0c60862a585c7c0280bfde0a47 -1 0000000000000000000000000000000000000000
-1 0000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000
invalid engine type:
$ echo 'changeset = unknown:changeset.txt' > unknownenginemap
$ hg log --style=./unknownenginemap
abort: invalid template engine: unknown
[255]
$ cd ..