# coding: utf-8 from IPython.core.splitinput import split_user_input, LineInfo from IPython.testing import tools as tt 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(("Pérez Fernando", ("", "", "Pérez", "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") assert str(linfo) == "LineInfo [ |%|cd|/home]"