Mercurial > hg
view tests/test-hgweb-commands @ 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 | a65ea28269ef |
children |
line wrap: on
line source
#!/bin/sh # An attempt at more fully testing the hgweb web interface. # The following things are tested elsewhere and are therefore omitted: # - archive, tested in test-archive # - unbundle, tested in test-push-http # - changegroupsubset, tested in test-pull echo % Set up the repo hg init test cd test mkdir da echo foo > da/foo echo foo > foo hg ci -Ambase hg tag 1.0 echo another > foo hg branch stable hg ci -Ambranch hg serve --config server.uncompressed=False -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log cat hg.pid >> $DAEMON_PIDS echo % Logs and changes "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//" "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/1/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//" "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/1/foo/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//" "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/shortlog/' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/rev/0/' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/rev/1/?style=raw' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log?rev=base' echo % File-related "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/foo/?style=raw' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/annotate/1/foo/?style=raw' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/?style=raw' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/foo' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/filediff/1/foo/?style=raw' echo % Overviews "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/raw-tags' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/raw-branches' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/summary/?style=gitweb' "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/graph/?style=gitweb' echo % capabilities "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=capabilities' echo % heads "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=heads' echo % lookup "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=lookup&key=1' echo % branches "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=branches&nodes=0000000000000000000000000000000000000000' echo % changegroup "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup&roots=0000000000000000000000000000000000000000' \ | $TESTDIR/printrepr.py echo % stream_out "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=stream_out' echo % failing unbundle, requires POST request "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=unbundle' echo % Static files "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/static/style.css' echo % Stop and restart with HGENCODING=cp932 "$TESTDIR/killdaemons.py" HGENCODING=cp932 hg serve --config server.uncompressed=False -n test \ -p $HGPORT -d --pid-file=hg.pid -E errors.log cat hg.pid >> $DAEMON_PIDS # commit message with Japanese Kanji 'Noh', which ends with '\x5c' echo foo >> foo HGENCODING=cp932 hg ci -m `python -c 'print("\x94\x5c")'` echo % Graph json escape of multibyte character "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/graph/' \ | grep '^var data =' echo % ERRORS ENCOUNTERED cat errors.log