summaryrefslogtreecommitdiff
path: root/unitTests.py
diff options
context:
space:
mode:
Diffstat (limited to 'unitTests.py')
-rw-r--r--unitTests.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/unitTests.py b/unitTests.py
index 40dd58b..cfc4e90 100644
--- a/unitTests.py
+++ b/unitTests.py
@@ -2046,6 +2046,21 @@ class PrecededByTest(ParseTestCase):
"Erroneous named results for {0}: expected {1}, got {2}".format(expr,
expected_dict,
result.asDict()))
+ # infinite loop test - from Issue #127
+ string_test = 'notworking'
+ # negs = pp.Or(['not', 'un'])('negs')
+ negs_pb = pp.PrecededBy('not', retreat=100)('negs_lb')
+ # negs_pb = pp.PrecededBy(negs, retreat=100)('negs_lb')
+ pattern = pp.Group(negs_pb + pp.Literal('working'))('main')
+
+ results = pattern.searchString(string_test)
+ try:
+ print_(results.dump())
+ except RecursionError:
+ self.assertTrue(False, "got maximum excursion limit exception")
+ else:
+ self.assertTrue(True, "got maximum excursion limit exception")
+
class CountedArrayTest(ParseTestCase):
def runTest(self):