From e8481e18a64a4b4500e6bade7c2602bb0739f9cc Mon Sep 17 00:00:00 2001 From: kotfu Date: Sat, 6 Jan 2018 21:02:18 -0700 Subject: Fix test_transcript.py in python 3.7 re.escape() changed behavior in python 3.7. --- cmd2.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'cmd2.py') diff --git a/cmd2.py b/cmd2.py index 54072d99..73ad491d 100755 --- a/cmd2.py +++ b/cmd2.py @@ -2398,7 +2398,22 @@ class Cmd2TestCase(unittest.TestCase): self.assertTrue(re.match(expected, result, re.MULTILINE | re.DOTALL), message) def _transform_transcript_expected(self, s): - """parse the string with slashed regexes into a valid regex""" + """parse the string with slashed regexes into a valid regex + + Given a string like: + + Match a 10 digit phone number: /\d{3}-\d{3}-\d{4}/ + + Turn it into a valid regular expression which matches the literal text + of the string and the regular expression. We have to remove the slashes + because they differentiate between plain text and a regular expression. + Unless the slashes are escaped, in which case they are interpreted as + plain text, or there is only one slash, which is treated as plain text + also. + + Check the tests in tests/test_transcript.py to see all the edge + cases. + """ regex = '' start = 0 -- cgit v1.2.1