home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import doctest
- import sys
- import IPython.ipapi as IPython
- ip = IPython.ipapi.get()
-
- def rundoctest(text, ns = None, eraise = False):
- name = 'interactive doctest'
- filename = '<IPython console>'
- if eraise:
- runner = doctest.DebugRunner()
- else:
- runner = doctest.DocTestRunner()
- parser = doctest.DocTestParser()
- if ns is None:
- f = sys._getframe(1)
- ns = f.f_globals.copy()
- ns.update(f.f_locals)
-
- test = parser.get_doctest(text, ns, name, filename, 0)
- runner.run(test)
- runner.summarize(True)
-
-
- def idoctest(ns = None, eraise = False):
- inlines = []
- empty_lines = 0
- run_test = True
- if ns is None:
- ns = ip.user_ns
-
- ip.IP.savehist()
-
- try:
- while True:
- line = raw_input()
- if not line or line.isspace():
- empty_lines += 1
- else:
- empty_lines = 0
- if empty_lines >= 2:
- break
-
- inlines.append(line)
- except EOFError:
- pass
- except KeyboardInterrupt:
- print 'KeyboardInterrupt - Discarding input.'
- run_test = False
-
- ip.IP.reloadhist()
- if run_test:
- inlines.append('')
- rundoctest('\n'.join(inlines), ns, eraise)
-
-
- if __name__ == '__main__':
- t = '\n >>> for i in range(10):\n ... print i,\n ...\n 0 1 2 3 4 5 6 7 8 9\n '
- t2 = '\n A simple example::\n\n >>> for i in range(10):\n ... print i,\n ...\n 0 1 2 3 4 5 6 7 8 9\n\n Some more details::\n\n >>> print "hello"\n hello\n '
- t3 = '\n A failing example::\n\n >>> x=1\n >>> x+1\n 3\n '
-
-