Source code for xdoctest.demo

"""
This file contains quick demonstrations of how to use xdoctest

CommandLine:
    xdoctest -m xdoctest.demo

    xdoctest -m xdoctest.demo --verbose 0
    xdoctest -m xdoctest.demo --silent
    xdoctest -m xdoctest.demo --quiet
"""


[docs] def myfunc(): """ Demonstrates how to write a doctest. Prefix with ``>>>`` and ideally place in an `Example:` block. You can also change Example, Ignore will Prefix with ``>>>`` and ideally place in an `Example:` block. CommandLine: # it would be nice if sphinx.ext.napoleon could handle this xdoctest -m xdoctest.demo myfunc Example: >>> result = myfunc() >>> assert result == 123 Ignore: >>> # it would be nice if sphinx.ext.napoleon could ignore this >>> print('this test is not run') """ return 123
[docs] class MyClass(object): """ Example: >>> self = MyClass.demo() >>> print('self.data = {!r}'.format(self.data)) """ def __init__(self, *args, **kw): """ Example: >>> # xdoctest: +REQUIRES(--fail) >>> raise Exception """ self.data = (args, kw)
[docs] @classmethod def demo(cls, **kw): """ CommandLine: xdoctest -m xdoctest.demo MyClass.demo xdoctest -m xdoctest.demo MyClass.demo --say Example: >>> print('starting my doctest') >>> self = MyClass.demo(demo='thats my demo') >>> # xdoc: +REQUIRES(--say) >>> print('self.data = {!r}'.format(self.data)) """ return MyClass(['spam'] * 42, ['eggs'], **kw)
[docs] @staticmethod def always_fails(): """ CommandLine: xdoctest -m xdoctest.demo MyClass.always_fails xdoctest -m xdoctest.demo MyClass.always_fails --fail xdoctest -m xdoctest.demo MyClass.always_fails --fail --really xdoctest -m xdoctest.demo MyClass.always_fails:0 --fail xdoctest -m xdoctest.demo MyClass.always_fails:1 --fail xdoctest -m xdoctest.demo MyClass.always_fails:2 --fail xdoctest -m xdoctest.demo MyClass.always_fails:3 --fail --really Example: >>> # xdoctest: +REQUIRES(--fail) >>> raise Exception('doctest always fails') Example: >>> # xdoctest: +REQUIRES(--fail) >>> MyClass.demo().always_fails() Example: >>> # xdoctest: +REQUIRES(--fail) >>> print('there is no way to fail') There are so many ways to fail Example: >>> # xdoctest: +REQUIRES(--fail) >>> # xdoctest: +REQUIRES(--really) >>> raise Exception # xdoctest: +SKIP >>> print('did you know') # xdoctest: +IGNORE_WANT directives are useful >>> print('match this') ... >>> print('match this') # xdoctest: -ELLIPSIS ... """ raise Exception('func always fails')