File: screen_test.py

package info (click to toggle)
python-easy-ansi 0.3-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 488 kB
  • sloc: python: 3,109; sh: 127; makefile: 2
file content (62 lines) | stat: -rw-r--r-- 1,904 bytes parent folder | download
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import pytest
from easyansi import screen as s
from easyansi import cursor as cur
from easyansi._core.codes import CSI


####################################################################################################
# clear, clear_code
####################################################################################################


def test_clear_and_clear_code(capsys):
    actual_code = s.clear_code()
    s.clear()
    captured = capsys.readouterr()
    assert actual_code == captured.out


def test_clear_code():
    expected_code = CSI + "2J" + cur.locate_code(0, 0)
    actual_code = s.clear_code()
    assert expected_code == actual_code


####################################################################################################
# clear_line, clear_line_code
####################################################################################################


def test_clear_line_invalid_row():
    expected_msg_contains = "Row Number"
    with pytest.raises(ValueError) as vl_error:
        s.clear_line(s.MINIMUM_ROW - 1)
    assert expected_msg_contains in str(vl_error.value)


def test_clear_line_and_clear_line_code(capsys):
    row = 10
    actual_code = s.clear_line_code(row)
    s.clear_line(row)
    captured = capsys.readouterr()
    assert actual_code == captured.out


def test_clear_line_code():
    row = 10
    expected_code = cur.locate_code(0, row) + CSI + "2K"
    actual_code = s.clear_line_code(row)
    assert expected_code == actual_code


####################################################################################################
# get_size
####################################################################################################


def test_get_size():
    expected_cols = 80
    expected_rows = 24
    actual_cols, actual_rows = s.get_size()
    assert expected_cols == actual_cols
    assert expected_rows == actual_rows