Mercurial > hg
annotate tests/test-help @ 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 | a565a2445eb5 |
children |
rev | line source |
---|---|
544
3d4d5f2aba9a
Remove bashisms and use /bin/sh instead of /bin/bash.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
429
diff
changeset
|
1 #!/bin/sh |
331 | 2 |
849
8933ef744325
Further help improvements:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
3 hg |
8933ef744325
Further help improvements:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
4 hg -q |
596 | 5 hg help |
423
25afb21d97ba
Support for 'hg --version'. setup.py stores version from hg repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
350
diff
changeset
|
6 hg -q help |
10110
9ed13f718e53
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
896
diff
changeset
|
7 |
9ed13f718e53
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
896
diff
changeset
|
8 echo %% test short command list with verbose option |
9ed13f718e53
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
896
diff
changeset
|
9 hg -v help shortlist | sed 's/[(]version [^)]*[)]/(version xxx)/' |
9ed13f718e53
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
896
diff
changeset
|
10 |
331 | 11 hg add -h |
10121
ac212bcc852b
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10110
diff
changeset
|
12 |
10446
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10144
diff
changeset
|
13 echo %% verbose help for add |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10144
diff
changeset
|
14 hg add -hv |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10144
diff
changeset
|
15 |
10121
ac212bcc852b
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10110
diff
changeset
|
16 echo %% test help option with version option |
ac212bcc852b
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10110
diff
changeset
|
17 hg add -h --version | sed 's/[(]version [^)]*[)]/(version xxx)/' |
ac212bcc852b
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10110
diff
changeset
|
18 |
596 | 19 hg add --skjdfks |
10139
d09bed527343
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10121
diff
changeset
|
20 |
d09bed527343
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10121
diff
changeset
|
21 echo %% test ambiguous command help |
d09bed527343
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10121
diff
changeset
|
22 hg help ad |
d09bed527343
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10121
diff
changeset
|
23 |
10140
5d868e0565f6
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10139
diff
changeset
|
24 echo %% test command without options |
5d868e0565f6
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10139
diff
changeset
|
25 hg help verify |
5d868e0565f6
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10139
diff
changeset
|
26 |
331 | 27 hg help diff |
849
8933ef744325
Further help improvements:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
28 hg help status |
8933ef744325
Further help improvements:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
29 hg -q help status |
331 | 30 hg help foo |
849
8933ef744325
Further help improvements:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
31 hg skjdfks |
331 | 32 |
10141
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
33 cat > helpext.py <<EOF |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
34 import os |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
35 from mercurial import commands |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
36 |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
37 def nohelp(ui, *args, **kwargs): |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
38 pass |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
39 |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
40 cmdtable = { |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
41 "nohelp": (nohelp, [], "hg nohelp"), |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
42 } |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
43 |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
44 commands.norepo += ' nohelp' |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
45 EOF |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
46 abspath=`pwd`/helpext.py |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
47 |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
48 echo '[extensions]' >> $HGRCPATH |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
49 echo "helpext = $abspath" >> $HGRCPATH |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
50 |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
51 echo %% test command with no help text |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
52 hg help nohelp |
827b7d6f9016
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10140
diff
changeset
|
53 |
10142
44fa0e205ec9
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10141
diff
changeset
|
54 echo %% test that default list of commands omits extension commands |
44fa0e205ec9
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10141
diff
changeset
|
55 hg help |
44fa0e205ec9
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10141
diff
changeset
|
56 |
10143
f6ac05b5684b
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10142
diff
changeset
|
57 echo %% test list of commands with command with no help text |
f6ac05b5684b
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10142
diff
changeset
|
58 hg help helpext |
f6ac05b5684b
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10142
diff
changeset
|
59 |
10144
69a974125938
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10143
diff
changeset
|
60 echo %% test a help topic |
69a974125938
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10143
diff
changeset
|
61 hg help revs |
69a974125938
test-help: improve test coverage
Henri Wiechers <hwiechers@gmail.com>
parents:
10143
diff
changeset
|
62 |
423
25afb21d97ba
Support for 'hg --version'. setup.py stores version from hg repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
350
diff
changeset
|
63 exit 0 |