Mercurial > hg
view tests/test-hgrc @ 11988:8380ed691df8
util: add an interpolate() function to for replacing multiple values
util.interpolate can be used to replace multiple items in a string all at once
(and optionally apply a function to the replacement), without worrying about
recursing:
>>> import util
>>> s = '$foo, $spam'
>>> util.interpolate(r'\$', { 'foo': 'bar', 'spam': 'eggs' }, s)
'bar, eggs'
>>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s)
'spam, foo'
>>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s, lambda s: s.upper())
'SPAM, FOO'
The patch also changes filemerge.py to use this new function.
author | Steve Losh <steve@stevelosh.com> |
---|---|
date | Wed, 18 Aug 2010 18:18:26 -0400 |
parents | d6dbd5e4ee72 |
children |
line wrap: on
line source
#!/bin/sh echo "invalid" > $HGRCPATH hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|" echo "" > $HGRCPATH # issue1199: escaping hg init "foo%bar" hg clone "foo%bar" foobar p=`pwd` cd foobar cat .hg/hgrc | sed -e "s:$p:...:" hg paths | sed -e "s:$p:...:" hg showconfig | sed -e "s:$p:...:" cd .. # issue1829: wrong indentation echo '[foo]' > $HGRCPATH echo ' x = y' >> $HGRCPATH hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|" python -c "print '[foo]\nbar = a\n b\n c \n de\n fg \nbaz = bif cb \n'" \ > $HGRCPATH hg showconfig foo FAKEPATH=/path/to/nowhere export FAKEPATH echo '%include $FAKEPATH/no-such-file' > $HGRCPATH hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|" unset FAKEPATH echo "% username expansion" olduser=$HGUSER unset HGUSER FAKEUSER='John Doe' export FAKEUSER echo '[ui]' > $HGRCPATH echo 'username = $FAKEUSER' >> $HGRCPATH hg init usertest cd usertest touch bar hg commit --addremove --quiet -m "added bar" hg log --template "{author}\n" cd .. hg showconfig | sed -e "s:$p:...:" unset FAKEUSER HGUSER=$olduser export HGUSER # HGPLAIN cd .. p=`pwd` echo "[ui]" > $HGRCPATH echo "debug=true" >> $HGRCPATH echo "fallbackencoding=ASCII" >> $HGRCPATH echo "quiet=true" >> $HGRCPATH echo "slash=true" >> $HGRCPATH echo "traceback=true" >> $HGRCPATH echo "verbose=true" >> $HGRCPATH echo "style=~/.hgstyle" >> $HGRCPATH echo "logtemplate={node}" >> $HGRCPATH echo "[defaults]" >> $HGRCPATH echo "identify=-n" >> $HGRCPATH echo "[alias]" >> $HGRCPATH echo "log=log -g" >> $HGRCPATH echo '% customized hgrc' hg showconfig | sed -e "s:$p:...:" echo '% plain hgrc' HGPLAIN=; export HGPLAIN hg showconfig --config ui.traceback=True --debug | sed -e "s:$p:...:"