mirror of https://github.com/python/cpython
added finditer sanity check
This commit is contained in:
parent
ca6dfa55c5
commit
b7747e2a2d
|
@ -167,9 +167,8 @@ def findall(pattern, string):
|
|||
|
||||
if sys.hexversion >= 0x02020000:
|
||||
def finditer(pattern, string):
|
||||
"""Return an iterator over all non-overlapping matches in
|
||||
the string. For each match, the iterator returns a match
|
||||
object.
|
||||
"""Return an iterator over all non-overlapping matches in the
|
||||
string. For each match, the iterator returns a match object.
|
||||
|
||||
Empty matches are included in the result."""
|
||||
return _compile(pattern, 0).finditer(string)
|
||||
|
|
|
@ -184,6 +184,17 @@ test(r"""sre.findall(r"(a)|(b)", "abc")""", [("a", ""), ("", "b")])
|
|||
# bug 117612
|
||||
test(r"""sre.findall(r"(a|(b))", "aba")""", [("a", ""),("b", "b"),("a", "")])
|
||||
|
||||
if sys.hexversion >= 0x02020000:
|
||||
if verbose:
|
||||
print "Running tests on sre.finditer"
|
||||
def fixup(seq):
|
||||
# convert iterator to list
|
||||
if not hasattr(seq, "next") or not hasattr(seq, "__iter__"):
|
||||
print "finditer returned", type(seq)
|
||||
return map(lambda item: item.group(0), seq)
|
||||
# sanity
|
||||
test(r"""fixup(sre.finditer(r":+", "a:b::c:::d"))""", [":", "::", ":::"])
|
||||
|
||||
if verbose:
|
||||
print "Running tests on sre.match"
|
||||
|
||||
|
|
Loading…
Reference in New Issue