##// END OF EJS Templates
validate ESC_PAREN ('/') is followed by a callable name and not empty (#12690)...
validate ESC_PAREN ('/') is followed by a callable name and not empty (#12690) When running a single python expression with just a slash - `/`, a tuple is returned. ```python In [1]: / Out[1]: () ``` This weird case happens because when a line starts with `/` the `inputtransformer` transforms it into a call of the first word after the `/` as the callable name and rest tokens after as arguments. This PR fixes that issue by validating that at least a callable name is given and it's not empty, if not a `SyntaxError` will be raised. ```python In [1]: / File "<ipython-input-1-8f27084b6294>", line 1 / ^ SyntaxError: invalid syntax In [2]: ``` Validated that tests are passing.

File last commit:

r5390:c82649ea
r28936:b65cf89c merge
Show More
test_page.py
20 lines | 772 B | text/x-python | PythonLexer
#-----------------------------------------------------------------------------
# Copyright (C) 2010-2011 The IPython Development Team.
#
# Distributed under the terms of the BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
import io
# N.B. For the test suite, page.page is overridden (see IPython.testing.globalipapp)
from IPython.core import page
def test_detect_screen_size():
"""Simple smoketest for page._detect_screen_size."""
try:
page._detect_screen_size(True, 25)
except (TypeError, io.UnsupportedOperation):
# This can happen in the test suite, because stdout may not have a
# fileno.
pass