[text] allow calling 'extract_iter' with invalid arguments
This commit is contained in:
@@ -160,10 +160,10 @@ def extract_all(txt, rules, pos=0, values=None):
|
|||||||
|
|
||||||
def extract_iter(txt, begin, end, pos=0):
|
def extract_iter(txt, begin, end, pos=0):
|
||||||
"""Yield values that would be returned by repeated calls of extract()"""
|
"""Yield values that would be returned by repeated calls of extract()"""
|
||||||
index = txt.index
|
|
||||||
lbeg = len(begin)
|
|
||||||
lend = len(end)
|
|
||||||
try:
|
try:
|
||||||
|
index = txt.index
|
||||||
|
lbeg = len(begin)
|
||||||
|
lend = len(end)
|
||||||
while True:
|
while True:
|
||||||
first = index(begin, pos) + lbeg
|
first = index(begin, pos) + lbeg
|
||||||
last = index(end, first)
|
last = index(end, first)
|
||||||
|
|||||||
@@ -300,6 +300,12 @@ class TestText(unittest.TestCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
g(txt, "[", "]", 6), ["a", "d"])
|
g(txt, "[", "]", 6), ["a", "d"])
|
||||||
|
|
||||||
|
# invalid arguments
|
||||||
|
for value in INVALID:
|
||||||
|
self.assertEqual(g(value, "<" , ">") , [])
|
||||||
|
self.assertEqual(g(txt , value, ">") , [])
|
||||||
|
self.assertEqual(g(txt , "<" , value), [])
|
||||||
|
|
||||||
def test_extract_from(self, f=text.extract_from):
|
def test_extract_from(self, f=text.extract_from):
|
||||||
txt = "[c][b][a]: xyz! [d][e"
|
txt = "[c][b][a]: xyz! [d][e"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user