|
|
# coding: utf-8
|
|
|
import nose.tools as nt
|
|
|
|
|
|
from IPython.core.splitinput import split_user_input, LineInfo
|
|
|
from IPython.testing import tools as tt
|
|
|
from IPython.utils import py3compat
|
|
|
|
|
|
tests = [
|
|
|
('x=1', ('', '', 'x', '=1')),
|
|
|
('?', ('', '?', '', '')),
|
|
|
('??', ('', '??', '', '')),
|
|
|
(' ?', (' ', '?', '', '')),
|
|
|
(' ??', (' ', '??', '', '')),
|
|
|
('??x', ('', '??', 'x', '')),
|
|
|
('?x=1', ('', '?', 'x', '=1')),
|
|
|
('!ls', ('', '!', 'ls', '')),
|
|
|
(' !ls', (' ', '!', 'ls', '')),
|
|
|
('!!ls', ('', '!!', 'ls', '')),
|
|
|
(' !!ls', (' ', '!!', 'ls', '')),
|
|
|
(',ls', ('', ',', 'ls', '')),
|
|
|
(';ls', ('', ';', 'ls', '')),
|
|
|
(' ;ls', (' ', ';', 'ls', '')),
|
|
|
('f.g(x)', ('', '', 'f.g', '(x)')),
|
|
|
('f.g (x)', ('', '', 'f.g', '(x)')),
|
|
|
('?%hist1', ('', '?', '%hist1', '')),
|
|
|
('?%%hist2', ('', '?', '%%hist2', '')),
|
|
|
('??%hist3', ('', '??', '%hist3', '')),
|
|
|
('??%%hist4', ('', '??', '%%hist4', '')),
|
|
|
('?x*', ('', '?', 'x*', '')),
|
|
|
]
|
|
|
tests.append((u"Pérez Fernando", (u'', u'', u'Pérez', u'Fernando')))
|
|
|
|
|
|
def test_split_user_input():
|
|
|
return tt.check_pairs(split_user_input, tests)
|
|
|
|
|
|
def test_LineInfo():
|
|
|
"""Simple test for LineInfo construction and str()"""
|
|
|
linfo = LineInfo(' %cd /home')
|
|
|
nt.assert_equal(str(linfo), 'LineInfo [ |%|cd|/home]')
|
|
|
|