##// END OF EJS Templates
Fix tab-completion for magics, other completion cleanup and fixes....
Fix tab-completion for magics, other completion cleanup and fixes. Mostly simplifying the code and updating it, no major functionality changes other than fixing magic completion, which had broken in the 0.11 refactor. Also added a small test file for completion-specific tests.

File last commit:

r2365:10038790
r2365:10038790
Show More
test_completer.py
35 lines | 1.1 KiB | text/x-python | PythonLexer
"""Tests for the IPython tab-completion machinery.
"""
#-----------------------------------------------------------------------------
# Module imports
#-----------------------------------------------------------------------------
# stdlib
import sys
# third party
import nose.tools as nt
# our own packages
from IPython.core import completer
#-----------------------------------------------------------------------------
# Test functions
#-----------------------------------------------------------------------------
def test_protect_filename():
pairs = [ ('abc','abc'),
(' abc',r'\ abc'),
('a bc',r'a\ bc'),
('a bc',r'a\ \ bc'),
(' bc',r'\ \ bc'),
]
# On posix, we also protect parens
if sys.platform != 'win32':
pairs.extend( [('a(bc',r'a\(bc'),
('a)bc',r'a\)bc'),
('a( )bc',r'a\(\ \)bc'),
] )
# run the actual tests
for s1, s2 in pairs:
s1p = completer.protect_filename(s1)
nt.assert_equals(s1p, s2)