xrandroll/tests/test_xrandr.py

32 lines
1.1 KiB
Python

from xrandroll.xrandr import parse_data
def test_parse_data(test_data):
data = test_data.read("sample_1.txt", deserialize=False).splitlines()
screen = parse_data(data)
assert len(screen.monitors) == 2
assert [m.output for m in screen.monitors.values()] == ["eDP", "HDMI-A-0"]
def test_parse_with_disconnected_monitors(test_data):
data = test_data.read("fisa_sample.txt", deserialize=False).splitlines()
screen = parse_data(data)
assert screen.choose_a_monitor() == "DP-1-1"
def test_replicated_monitors(test_data):
data = test_data.read("replicated.txt", deserialize=False).splitlines()
screen = parse_data(data)
assert screen.monitors["eDP"].replica_of == ["HDMI-A-0"]
assert screen.choose_a_monitor() == "eDP"
def test_get_set_primary(test_data):
data = test_data.read("sample_1.txt", deserialize=False).splitlines()
screen = parse_data(data)
assert screen.get_primary().output == "eDP"
screen.set_primary("HDMI-A-0")
assert screen.get_primary().output == "HDMI-A-0"
screen.set_primary("FOOBAR")
assert screen.get_primary() is None