test_splitinput.py
42 lines
| 1.4 KiB
| text/x-python
|
PythonLexer
Thomas Kluyver
|
r4769 | # coding: utf-8 | ||
Thomas Kluyver
|
r11124 | import nose.tools as nt | ||
from IPython.core.splitinput import split_user_input, LineInfo | ||||
Thomas Kluyver
|
r4746 | from IPython.testing import tools as tt | ||
Thomas Kluyver
|
r4769 | from IPython.utils import py3compat | ||
Thomas Kluyver
|
r4746 | |||
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)')), | ||||
Fernando Perez
|
r6998 | ('?%hist1', ('', '?', '%hist1', '')), | ||
('?%%hist2', ('', '?', '%%hist2', '')), | ||||
('??%hist3', ('', '??', '%hist3', '')), | ||||
('??%%hist4', ('', '??', '%%hist4', '')), | ||||
Thomas Kluyver
|
r4746 | ('?x*', ('', '?', 'x*', '')), | ||
] | ||||
Thomas Kluyver
|
r4769 | if py3compat.PY3: | ||
tests.append((u"Pérez Fernando", (u'', u'', u'Pérez', u'Fernando'))) | ||||
else: | ||||
tests.append((u"Pérez Fernando", (u'', u'', u'P', u'érez Fernando'))) | ||||
Thomas Kluyver
|
r4746 | |||
def test_split_user_input(): | ||||
return tt.check_pairs(split_user_input, tests) | ||||
Thomas Kluyver
|
r11124 | |||
def test_LineInfo(): | ||||
"""Simple test for LineInfo construction and str()""" | ||||
linfo = LineInfo(' %cd /home') | ||||
nt.assert_equal(str(linfo), 'LineInfo [ |%|cd|/home]') | ||||