##// END OF EJS Templates
split adds new cell above, rather than below...
split adds new cell above, rather than below preserves the order of code and output across split event rather than moving output into the middle of the split.

File last commit:

r4892:0707dc54
r12956:146f06f8
Show More
test_ipdoctest.py
80 lines | 1.7 KiB | text/x-python | PythonLexer
Fernando Perez
Add a few tests for ipdoctest itself. Not very complete yet, but a start.
r1954 """Tests for the ipdoctest machinery itself.
Note: in a file named test_X, functions whose only test is their docstring (as
a doctest) and which have no test functionality of their own, should be called
'doctest_foo' instead of 'test_foo', otherwise they get double-counted (the
empty function call is counted as a test, which just inflates tests numbers
artificially).
"""
Thomas Kluyver
Various fixes for tests in IPython.testing.
r4892 from IPython.utils.py3compat import doctest_refactor_print
Fernando Perez
Add a few tests for ipdoctest itself. Not very complete yet, but a start.
r1954
Thomas Kluyver
Various fixes for tests in IPython.testing.
r4892 @doctest_refactor_print
Fernando Perez
Add a few tests for ipdoctest itself. Not very complete yet, but a start.
r1954 def doctest_simple():
"""ipdoctest must handle simple inputs
In [1]: 1
Out[1]: 1
In [2]: print 1
1
"""
Thomas Kluyver
Various fixes for tests in IPython.testing.
r4892 @doctest_refactor_print
Fernando Perez
Add a few tests for ipdoctest itself. Not very complete yet, but a start.
r1954 def doctest_multiline1():
"""The ipdoctest machinery must handle multiline examples gracefully.
Thomas Kluyver
Various fixes for tests in IPython.testing.
r4892 In [2]: for i in range(4):
...: print i
Fernando Perez
Add a few tests for ipdoctest itself. Not very complete yet, but a start.
r1954 ...:
Thomas Kluyver
Various fixes for tests in IPython.testing.
r4892 0
1
2
3
Fernando Perez
Add a few tests for ipdoctest itself. Not very complete yet, but a start.
r1954 """
Thomas Kluyver
Various fixes for tests in IPython.testing.
r4892 @doctest_refactor_print
Fernando Perez
Add a few tests for ipdoctest itself. Not very complete yet, but a start.
r1954 def doctest_multiline2():
"""Multiline examples that define functions and print output.
In [7]: def f(x):
...: return x+1
...:
In [8]: f(1)
Out[8]: 2
In [9]: def g(x):
...: print 'x is:',x
...:
In [10]: g(1)
x is: 1
In [11]: g('hello')
x is: hello
"""
def doctest_multiline3():
"""Multiline examples with blank lines.
In [12]: def h(x):
....: if x>1:
....: return x**2
....: # To leave a blank line in the input, you must mark it
....: # with a comment character:
....: #
....: # otherwise the doctest parser gets confused.
....: else:
....: return -1
....:
In [13]: h(5)
Out[13]: 25
In [14]: h(1)
Out[14]: -1
In [15]: h(0)
Out[15]: -1
"""