Skip to content

Commit 7f33297

Browse files
website: local_replace.py: fixed one corner case for hg revisions. Better test.
A minus is not starting a revision anymore
1 parent 1606daa commit 7f33297

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

website/issues/extensions/local_replace.py

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"<a href='issue\g<id>'>#\g<ws>\g<id></a>" ),
77
(re.compile('(?P<prews>^|\s+)issue(?P<ws>\s*)(?P<id>\d+)'),
88
"\g<prews><a href='issue\g<id>'>issue\g<ws>\g<id></a>" ),
9-
(re.compile('(?P<prews>^|\s+)(?P<revstr>(revision|rev|r)\s?)(?P<revision>[\da-fA-F]+)(?P<post>\W+|$)'),
9+
(re.compile('(?P<prews>^|\s+)(?P<revstr>(revision|rev|r)\s?)(?P<revision>[1-9a-fA-F][0-9a-fA-F]*)(?P<post>\W+|$)'),
1010
"\g<prews><a href='http://sourceforge.net/p/roundup/code/ci/\g<revision>'>\g<revstr>\g<revision></a>\g<post>"),
1111
]
1212

@@ -21,17 +21,25 @@ def local_replace(message):
2121
def init(instance):
2222
instance.registerUtil('localReplace', local_replace)
2323

24+
def quicktest(msgstr, should_replace = True):
25+
if not should_replace:
26+
print "(no)",
27+
print "'%s' -> '%s'" % (msgstr, local_replace(msgstr))
2428

2529
if "__main__" == __name__:
26-
print " debian:#222", local_replace(" debian:#222")
27-
print " #555", local_replace(" #555")
28-
print "issue333", local_replace("issue333")
29-
print " revision 222", local_replace(" revision 222")
30-
print " r 222", local_replace(" r 222")
31-
print " wordthatendswithr 222", local_replace(" wordthatendswithr 222") # should fail
32-
print " references", local_replace(" references") # should fail
33-
print " too many spaces r 222", local_replace(" too many spaces r 222") # should fail
34-
print " r7140eb", local_replace(" r7140eb")
35-
print " rev7140eb ", local_replace(" rev7140eb ")
36-
print "rev7140eb", local_replace("rev7140eb")
37-
print "rev7140eb,", local_replace("rev7140eb,")
30+
print "Replacement examples. '(no)' should result in no replacement:"
31+
quicktest(" debian:#222")
32+
quicktest(" #555")
33+
quicktest("issue333")
34+
quicktest(" revision 222")
35+
quicktest(" r 222")
36+
quicktest(" wordthatendswithr 222", False)
37+
quicktest(" references", False)
38+
quicktest(" too many spaces r 222", False)
39+
quicktest("re-evaluate", False)
40+
quicktest("rex140eb", False)
41+
quicktest("re140eb")
42+
quicktest(" r7140eb")
43+
quicktest(" rev7140eb ")
44+
quicktest("rev7140eb")
45+
quicktest("rev7140eb,")

0 commit comments

Comments
 (0)