mirror of https://github.com/python/cpython
Tweak re_tests and test_re to differentiate between
groups that have no value and groups that are out of bounds.
This commit is contained in:
parent
847ed4afb5
commit
23b8d4c15e
|
@ -59,7 +59,7 @@ test_re
|
|||
('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
|
||||
=== Syntax error: ('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
|
||||
('$b', 'b', 1)
|
||||
('a\\(b', 'a(b', 0, 'found+"-"+g1', 'a(b-None')
|
||||
('a\\(b', 'a(b', 0, 'found+"-"+g1', 'a(b-Error')
|
||||
('a\\(*b', 'ab', 0, 'found', 'ab')
|
||||
('a\\(*b', 'a((b', 0, 'found', 'a((b')
|
||||
('a\\\\b', 'a\\b', 0, 'found', 'a\\b')
|
||||
|
|
|
@ -34,8 +34,10 @@ benchmarks = [
|
|||
# 3: a string that will be eval()'ed to produce a test string.
|
||||
# This is an arbitrary Python expression; the available
|
||||
# variables are "found" (the whole match), and "g1", "g2", ...
|
||||
# up to "g10" contain the contents of each group, or the
|
||||
# string 'None' if the group wasn't given a value.
|
||||
# up to "g99" contain the contents of each group, or the
|
||||
# string 'None' if the group wasn't given a value, or the
|
||||
# string 'Error' if the group index was out of range;
|
||||
# also "groups", the return value of m.group() (a tuple).
|
||||
# 4: The expected result of evaluating the expression.
|
||||
# If the two don't match, an error is reported.
|
||||
#
|
||||
|
@ -137,7 +139,7 @@ tests = [
|
|||
'found+"-"+g1', 'ef-'),
|
||||
('$b', 'b', FAIL),
|
||||
('a\\(b', 'a(b', SUCCEED,
|
||||
'found+"-"+g1', 'a(b-None'),
|
||||
'found+"-"+g1', 'a(b-Error'),
|
||||
('a\\(*b', 'ab', SUCCEED,
|
||||
'found', 'ab'),
|
||||
('a\\(*b', 'a((b', SUCCEED,
|
||||
|
|
|
@ -48,7 +48,7 @@ for t in tests:
|
|||
# Special hack because else the string concat fails:
|
||||
if gi is None: gi = "None"
|
||||
except IndexError:
|
||||
gi = "None"
|
||||
gi = "Error"
|
||||
vardict['g%d' % i] = gi
|
||||
repl=eval(repl, vardict)
|
||||
if repl!=expected:
|
||||
|
|
Loading…
Reference in New Issue