diff options
author | Edward Loper <edloper@gradient.cis.upenn.edu> | 2004-08-09 02:06:06 (GMT) |
---|---|---|
committer | Edward Loper <edloper@gradient.cis.upenn.edu> | 2004-08-09 02:06:06 (GMT) |
commit | 7c748469c7688092152ef9bc6b893ffcdfb2c328 (patch) | |
tree | 2a5a1c6aa7b6ad40ce38a2a00e54f08a4d0a6bc1 /Lib/test/test_doctest.py | |
parent | 103d26e851e781c17c03b711b39ab03f683346a9 (diff) | |
download | cpython-7c748469c7688092152ef9bc6b893ffcdfb2c328.zip cpython-7c748469c7688092152ef9bc6b893ffcdfb2c328.tar.gz cpython-7c748469c7688092152ef9bc6b893ffcdfb2c328.tar.bz2 |
Rewrote Parser, using regular expressions instead of walking though
the string one line at a time. The resulting code is (in my opinion,
anyway), much easier to read. In the process, I found and fixed a
bug in the orginal parser's line numbering in error messages (it was
inconsistant between 0-based and 1-based). Also, check for missing
blank lines after the prompt on all prompt lines, not just PS1 lines
(test added).
Diffstat (limited to 'Lib/test/test_doctest.py')
-rw-r--r-- | Lib/test/test_doctest.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py index aae93c4..d9d0674 100644 --- a/Lib/test/test_doctest.py +++ b/Lib/test/test_doctest.py @@ -209,7 +209,7 @@ expected output of an example, then `DocTest` will raise a ValueError: ... ''' >>> doctest.DocTest(docstring, globs, 'some_test', 'filename', 0) Traceback (most recent call last): - ValueError: line 3 of the docstring for some_test has inconsistent leading whitespace: ' indentation' + ValueError: line 4 of the docstring for some_test has inconsistent leading whitespace: ' indentation' If the docstring contains inconsistent leading whitespace on continuation lines, then `DocTest` will raise a ValueError: @@ -229,7 +229,16 @@ will raise a ValueError: >>> docstring = '>>>print 1\n1' >>> doctest.DocTest(docstring, globs, 'some_test', 'filename', 0) Traceback (most recent call last): - ValueError: line 0 of the docstring for some_test lacks blank after >>>: '>>>print 1' + ValueError: line 1 of the docstring for some_test lacks blank after >>>: '>>>print 1' + +If there's no blank space after a PS2 prompt ('...'), then `DocTest` +will raise a ValueError: + + >>> docstring = '>>> if 1:\n...print 1\n1' + >>> doctest.DocTest(docstring, globs, 'some_test', 'filename', 0) + Traceback (most recent call last): + ValueError: line 2 of the docstring for some_test lacks blank after ...: '...print 1' + """ # [XX] test that it's getting line numbers right. |