##// END OF EJS Templates
`AssertionError`: `assert _xterm_term_title_saved` in WSL (#14480)...
`AssertionError`: `assert _xterm_term_title_saved` in WSL (#14480) `AssertionError`: `assert _xterm_term_title_saved` In some (unknown) situation, it is possible that the `_xterm_term_title_saved` is unset, but the code would make a call to `_restore_term_title_xterm`, resulting in `AssertionError`. At least on replicatable reproduction is returning from `ipython` to `pudb` via `^D^D` on an empty cell. See more details in https://github.com/ipython/ipython/pull/14480 Signed-off-by: Stavros Ntentos <133706+stdedos@users.noreply.github.com> <details> <summary><em>was:</em></summary> In some (unknown) situation, it is possible that the `_xterm_term_title_saved` is unset, but the code would make a call to `_restore_term_title_xterm`, resulting in `AssertionError`. As title stacking does not seem to be getting traction (https://github.com/microsoft/terminal/issues/14575), do not set the `xterm` variants of `_set_term_title` / `_restore_term_title`. WSL detection: https://superuser.com/a/1749811/533196 Additionally, almost-`black` the file. </details>

File last commit:

r28819:8fb51573
r28838:9b8cd4a3 merge
Show More
test_splitinput.py
41 lines | 1.2 KiB | text/x-python | PythonLexer
# 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]"