view tests/test-template-engine @ 8819:e93ab347c814

test-convert-cvsnt-mergepoints: ignore differences between CVS 1.11 and 1.12. - factor out cvsci function (similar to other test-convert-cvs* scripts) - add filterpath function (also similar to other scripts) - generally munge the output of CVS - add lots of output to make it easier to follow when things go wrong This doesn't make the test pass reliably under CVS 1.11; it just makes it behave the same as under CVS 1.12, i.e. sometimes it passes and sometimes it fails. Failure is more frequent with faster hardware.
author Greg Ward <greg-hg@gerg.ca>
date Mon, 15 Jun 2009 20:35:19 -0400
parents d8c5a7f25a40
children d4d4da54ab05
line wrap: on
line source

#!/bin/sh

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():
            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
hg log --style=./mymap