[Patches] [ python-Patches-407764 ] allow whitespace lines for doctest tests

noreply@sourceforge.net noreply@sourceforge.net
Fri, 16 Mar 2001 21:04:15 -0800


Patches item #407764, was updated on 2001-03-11 13:37
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=407764&group_id=5470

Category: library
Group: None
Status: Open
Priority: 5
Submitted By: Trent Mick (tmick)
Assigned to: Tim Peters (tim_one)
Summary: allow whitespace lines for doctest tests

Initial Comment:
Currently doctest.py does not allow individual tests 
to have all-whitespace output lines. This patch 
proposes a fix for this. With this patch a leading '.' 
on a doctest output line, if and only if the tests are 
indented, will signal that following whitespace *is* 
the expected output. 

For example, currently this cannot be doctest'ed

"""
    >>> print "\nhello\n"

    hello

    >>>
"""

But with this patch *this* can be:

# file test_doctest.py
"""
    >>> print "\nhello\n"
.
    hello
.
    >>>
"""
def _test():
    import doctest, test_doctest
    return doctest.testmod(test_doctest)
if __name__ == "__main__":
    _test()




----------------------------------------------------------------------

>Comment By: Tim Peters (tim_one)
Date: 2001-03-16 21:04

Message:
Logged In: YES 
user_id=31435

Trent, yuck.  doctests are primarily documentation, and 
there's nothing about "." that suggests-- let alone 
screams --"ah, this line is really a blank line, not the 
period that it sure looks like".  Too confusing.

I'd be happy with this if it *screamed* "blank line", 
though!  For example, accept

<really a blank line>

as meaning it's really a blank line.  In that case, though, 
note that:

1. The restriction about blank lines is documented in both 
doctest's docstrings and in the Library Manual, so this 
would also need doc changes in both places.

and

2. doctest is self-testing, i.e. the standard test for 
doctest simply runs doctest on doctest.  So in the very 
same place you document your blank line convention in the 
doctest docstring, you should also include an executable  
doctest example in the docstring.  Then the standard 
test_doctest.py will verify that it works exactly as 
advertised forever more.

----------------------------------------------------------------------

Comment By: Trent Mick (tmick)
Date: 2001-03-11 13:40

Message:
Logged In: YES 
user_id=34892

Grrr, the code I put in the comment is supposed to be 
indented of course. I will attach the test_doctest.py to 
clarify.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=407764&group_id=5470