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-')
|
('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
|
||||||
=== Syntax error: ('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
|
=== Syntax error: ('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
|
||||||
('$b', 'b', 1)
|
('$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', 'ab', 0, 'found', 'ab')
|
||||||
('a\\(*b', 'a((b', 0, 'found', 'a((b')
|
('a\\(*b', 'a((b', 0, 'found', 'a((b')
|
||||||
('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.
|
# 3: a string that will be eval()'ed to produce a test string.
|
||||||
# This is an arbitrary Python expression; the available
|
# This is an arbitrary Python expression; the available
|
||||||
# variables are "found" (the whole match), and "g1", "g2", ...
|
# variables are "found" (the whole match), and "g1", "g2", ...
|
||||||
# up to "g10" contain the contents of each group, or the
|
# up to "g99" contain the contents of each group, or the
|
||||||
# string 'None' if the group wasn't given a value.
|
# 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.
|
# 4: The expected result of evaluating the expression.
|
||||||
# If the two don't match, an error is reported.
|
# If the two don't match, an error is reported.
|
||||||
#
|
#
|
||||||
|
@ -137,7 +139,7 @@ tests = [
|
||||||
'found+"-"+g1', 'ef-'),
|
'found+"-"+g1', 'ef-'),
|
||||||
('$b', 'b', FAIL),
|
('$b', 'b', FAIL),
|
||||||
('a\\(b', 'a(b', SUCCEED,
|
('a\\(b', 'a(b', SUCCEED,
|
||||||
'found+"-"+g1', 'a(b-None'),
|
'found+"-"+g1', 'a(b-Error'),
|
||||||
('a\\(*b', 'ab', SUCCEED,
|
('a\\(*b', 'ab', SUCCEED,
|
||||||
'found', 'ab'),
|
'found', 'ab'),
|
||||||
('a\\(*b', 'a((b', SUCCEED,
|
('a\\(*b', 'a((b', SUCCEED,
|
||||||
|
|
|
@ -48,7 +48,7 @@ for t in tests:
|
||||||
# Special hack because else the string concat fails:
|
# Special hack because else the string concat fails:
|
||||||
if gi is None: gi = "None"
|
if gi is None: gi = "None"
|
||||||
except IndexError:
|
except IndexError:
|
||||||
gi = "None"
|
gi = "Error"
|
||||||
vardict['g%d' % i] = gi
|
vardict['g%d' % i] = gi
|
||||||
repl=eval(repl, vardict)
|
repl=eval(repl, vardict)
|
||||||
if repl!=expected:
|
if repl!=expected:
|
||||||
|
|
Loading…
Reference in New Issue