diff options
-rw-r--r-- | Lib/doctest.py | 7 | ||||
-rw-r--r-- | Lib/test/test_doctest.py | 6 |
2 files changed, 8 insertions, 5 deletions
diff --git a/Lib/doctest.py b/Lib/doctest.py index ecf0e1a..86d1782 100644 --- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -478,8 +478,11 @@ class Example: """ def __init__(self, source, want, lineno): # Check invariants. - assert (source[-1:] == '\n') == ('\n' in source[:-1]) - assert want == '' or want[-1] == '\n' + if (source[-1:] == '\n') != ('\n' in source[:-1]): + raise AssertionError("source must end with newline iff " + "source contains more than one line") + if want and want[-1] != '\n': + raise AssertionError("non-empty want must end with newline") # Store properties. self.source = source self.want = want diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py index 68ac44c..1062942 100644 --- a/Lib/test/test_doctest.py +++ b/Lib/test/test_doctest.py @@ -132,13 +132,13 @@ than one line: >>> e = doctest.Example('print 1', '1\n', 0) >>> e = doctest.Example('print 1\n', '1\n', 0) Traceback (most recent call last): - AssertionError + AssertionError: source must end with newline iff source contains more than one line >>> # Source spans multiple lines: require terminating newline. >>> e = doctest.Example('print 1;\nprint 2\n', '1\n2\n', 0) >>> e = doctest.Example('print 1;\nprint 2', '1\n2\n', 0) Traceback (most recent call last): - AssertionError + AssertionError: source must end with newline iff source contains more than one line The `want` string should be terminated by a newline, unless it's the empty string: @@ -146,7 +146,7 @@ empty string: >>> e = doctest.Example('print 1', '1\n', 0) >>> e = doctest.Example('print 1', '1', 0) Traceback (most recent call last): - AssertionError + AssertionError: non-empty want must end with newline >>> e = doctest.Example('print', '', 0) """ |