##// END OF EJS Templates
Merge pull request #1059 from fperez/__IPYTHON__...
Merge pull request #1059 from fperez/__IPYTHON__ Switch to simple `__IPYTHON__` global to indicate an IPython Shell object has been created. Note that this does *not* try to track whether user code is being executed by ipython via %run, nor whether the Shell object itself is running an interactive event loop or not. So the answer for how people should query whether IPython objects are active is now simply ``` try: __IPYTHON__ except NameError: print 'not in IPython' ``` We do not attempt to track activity levels anymore, as we realized that logic was ultimately to brittle and error prone to be of any real use.

File last commit:

r5390:c82649ea
r5572:487b6b96 merge
Show More
test_linefrontend.py
37 lines | 1.1 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""
Test the LineFrontEnd
"""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008-2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is
# in the file COPYING, distributed as part of this software.
#-------------------------------------------------------------------------------
from IPython.frontend.linefrontendbase import LineFrontEndBase
from copy import deepcopy
import nose.tools as nt
class ConcreteLineFrontEnd(LineFrontEndBase):
""" A concrete class to test the LineFrontEndBase.
"""
def capture_output(self):
pass
def release_output(self):
pass
def test_is_complete():
""" Tests line completion heuristic.
"""
frontend = ConcreteLineFrontEnd()
yield nt.assert_true, not frontend.is_complete('for x in \\')
yield nt.assert_true, not frontend.is_complete('for x in (1, ):')
yield nt.assert_true, frontend.is_complete('for x in (1, ):\n pass')