From 23b8d4c15e4338689c3ac0695fe981eaf62b0c3f Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 15 Jul 1997 15:49:52 +0000 Subject: [PATCH] Tweak re_tests and test_re to differentiate between groups that have no value and groups that are out of bounds. --- Lib/test/output/test_re | 2 +- Lib/test/re_tests.py | 8 +++++--- Lib/test/test_re.py | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Lib/test/output/test_re b/Lib/test/output/test_re index 182ca054e3b..c806244e06b 100644 --- a/Lib/test/output/test_re +++ b/Lib/test/output/test_re @@ -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') diff --git a/Lib/test/re_tests.py b/Lib/test/re_tests.py index 393e2b2c92d..5c48fccdb78 100755 --- a/Lib/test/re_tests.py +++ b/Lib/test/re_tests.py @@ -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, diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py index cef14b08229..33e9e54b6fa 100644 --- a/Lib/test/test_re.py +++ b/Lib/test/test_re.py @@ -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: