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):
2121def 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
2529if "__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