File: test_splitinput.py

package info (click to toggle)
ipython 9.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 8,624 kB
  • sloc: python: 45,268; sh: 317; makefile: 168
file content (41 lines) | stat: -rw-r--r-- 1,251 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# coding: utf-8

from IPython.core.splitinput import split_user_input, LineInfo

import pytest

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*", "")),
    ("Pérez Fernando", ("", "", "Pérez", " Fernando")),
]


@pytest.mark.parametrize("input, output", tests)
def test_split_user_input(input, output):
    assert split_user_input(input) == output


def test_LineInfo():
    """Simple test for LineInfo construction and str()"""
    linfo = LineInfo("  %cd /home")
    assert str(linfo) == "LineInfo [  |%|cd|/home]"