File: test_line_split.py

package info (click to toggle)
textual 2.1.2-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 55,080 kB
  • sloc: python: 85,423; lisp: 1,669; makefile: 101
file content (26 lines) | stat: -rw-r--r-- 849 bytes parent folder | download | duplicates (2)
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
from textual._line_split import line_split


def test_split_string_to_lines_and_endings():
    # Test with different line endings
    assert line_split("Hello\r\nWorld\n") == [("Hello", "\r\n"), ("World", "\n")]
    assert line_split("Hello\rWorld\r\n") == [("Hello", "\r"), ("World", "\r\n")]
    assert line_split("Hello\nWorld\r") == [("Hello", "\n"), ("World", "\r")]

    # Test with no line endings
    assert line_split("Hello World") == [("Hello World", "")]

    # Test with empty string
    assert line_split("") == []

    # Test with multiple lines having same line endings
    assert line_split("Hello\nWorld\nHow\nAre\nYou\n") == [
        ("Hello", "\n"),
        ("World", "\n"),
        ("How", "\n"),
        ("Are", "\n"),
        ("You", "\n"),
    ]

    # Test with a single character
    assert line_split("a") == [("a", "")]