Mercurial > hg
view tests/test-hgweb @ 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 | d3dbdca92458 |
children | 1121af239761 |
line wrap: on
line source
#!/bin/sh # Some tests for hgweb. Tests static files, plain files and different 404's. hg init test cd test mkdir da echo foo > da/foo echo foo > foo hg ci -Ambase hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log cat hg.pid >> $DAEMON_PIDS echo % manifest ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/?style=raw') ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/da?style=raw') echo % plain file "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/foo?style=raw' echo % should give a 404 - static file that does not exist "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/static/bogus' echo % should give a 404 - bad revision "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/spam/foo?style=raw' echo % should give a 400 - bad command "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/foo?cmd=spam&style=raw' | sed 's/400.*/400/' echo % should give a 404 - file does not exist "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/bork?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/bork' "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/diff/tip/bork?style=raw' echo % try bad style ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/?style=foobar') echo % stop and restart "$TESTDIR/killdaemons.py" hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log cat hg.pid >> $DAEMON_PIDS # Test the access/error files are opened in append mode python -c "print len(file('access.log').readlines()), 'log lines written'" echo % static file "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/static/style-gitweb.css' echo % errors cat errors.log