test_splitinput.py
41 lines
| 1.2 KiB
| text/x-python
|
PythonLexer
Thomas Kluyver
|
r4769 | # coding: utf-8 | ||
Thomas Kluyver
|
r11124 | |||
from IPython.core.splitinput import split_user_input, LineInfo | ||||
M Bussonnier
|
r28819 | |||
import pytest | ||||
Thomas Kluyver
|
r4746 | |||
tests = [ | ||||
Samuel Gaist
|
r26909 | ("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)")), | ||||
M Bussonnier
|
r28819 | ("f.g (x)", ("", "", "f.g", " (x)")), | ||
Samuel Gaist
|
r26909 | ("?%hist1", ("", "?", "%hist1", "")), | ||
("?%%hist2", ("", "?", "%%hist2", "")), | ||||
("??%hist3", ("", "??", "%hist3", "")), | ||||
("??%%hist4", ("", "??", "%%hist4", "")), | ||||
("?x*", ("", "?", "x*", "")), | ||||
M Bussonnier
|
r28819 | ("Pérez Fernando", ("", "", "Pérez", " Fernando")), | ||
Samuel Gaist
|
r26909 | ] | ||
Thomas Kluyver
|
r4746 | |||
M Bussonnier
|
r28819 | @pytest.mark.parametrize("input, output", tests) | ||
def test_split_user_input(input, output): | ||||
assert split_user_input(input) == output | ||||
Thomas Kluyver
|
r11124 | |||
Matthias Bussonnier
|
r27747 | |||
Thomas Kluyver
|
r11124 | def test_LineInfo(): | ||
"""Simple test for LineInfo construction and str()""" | ||||
Samuel Gaist
|
r26909 | linfo = LineInfo(" %cd /home") | ||
assert str(linfo) == "LineInfo [ |%|cd|/home]" | ||||