Wrapping python doctest results that are longer than 80 characters

Question:

I’m trying to keep my source code under the 80 character guideline width that PEP8 recommends, but can’t figure out how to wrap my doctest which has results longer than 80 characters.

A noddy example:

def long_string():
    """
    Returns a string which is wider than the recommended PEP8 linewidth

    >>> print long_string()
    0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789

    """
    return '0123456789' * 10

I’ve tried a couple of combinations, including using # doctest: +NORMALIZE_WHITESPACE and trying to simply wrap the line with a newline.

Asked By: pelson

||

Answers:

Just figured out:

def long_string():
    """
    Returns a string which is wider than the recommended PEP8 linewidth

    >>> print long_string()
    01234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789

    """
    return '0123456789' * 10

Hope that helps somebody else out.

Answered By: pelson

As suggested by davitenio and qris, I would recommend using the #doctest: +ELLIPSIS directive, like so.

>>> from test.test_ppp import MockForm
>>> form = MockForm(mock_file='no-errors.xlsx')
>>> form.get_languages(settings_default='English', survey_header=
... form.metadata['raw_data']['survey'][0])  #doctest: +ELLIPSIS
['Ateso', 'English', 'Luganda', ... 'Runyoro-Rutoro']
Answered By: Joe Flack
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.