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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
import pytest
ENV = dict(PATH="$PWD/xrandr:$PATH")
OUTPUTS = sorted("DP-0 DP-1 DP-2 DP-3 eDP-1-1 HDMI-0".split())
@pytest.mark.bashcomp(pre_cmds=("PATH=$PATH:$PWD/xrandr",))
class TestXrandr:
@pytest.mark.complete("xrandr ", require_cmd=True)
def test_no_args(self, completion):
assert completion
@pytest.mark.complete("xrandr -", require_cmd=True)
def test_single_dash(self, completion):
assert completion
@pytest.mark.complete("xrandr --output ", env=ENV)
def test_output(self, completion):
assert completion == OUTPUTS
@pytest.mark.complete("xrandr --output HDMI-0 --left-of ", env=ENV)
def test_output_left_of(self, completion):
assert completion == OUTPUTS
@pytest.mark.complete("xrandr --output HDMI-0 --reflect ", env=ENV)
def test_output_reflect(self, completion):
assert completion == sorted("normal x y xy".split())
@pytest.mark.complete("xrandr --reflect ", require_cmd=True)
def test_output_reflect_nooutput(self, completion):
assert not completion
@pytest.mark.complete("xrandr --output HDMI-0 --rotate ", env=ENV)
def test_output_rotate(self, completion):
assert completion == sorted("normal inverted left right".split())
@pytest.mark.complete("xrandr --rotate ", require_cmd=True)
def test_output_rotate_nooutput(self, completion):
assert not completion
@pytest.mark.complete("xrandr --output HDMI-0 --filter ", env=ENV)
def test_output_filter(self, completion):
assert completion == sorted("bilinear nearest".split())
@pytest.mark.complete("xrandr --output HDMI-0 --mode ", env=ENV)
def test_output_mode(self, completion):
assert completion == sorted(
"1024x768 1280x1024 1280x800 1600x900 1920x1080 720x480 "
"800x600 1152x864 1280x720 1440x900 1680x1050 640x480 720x576".split()
)
@pytest.mark.complete("xrandr --mode ", require_cmd=True)
def test_output_mode_nooutput(self, completion):
assert not completion
@pytest.mark.complete("xrandr --addmode ", env=ENV)
def test_addmode_first(self, completion):
assert completion == OUTPUTS
@pytest.mark.complete("xrandr --addmode HDMI-0 ", env=ENV)
def test_addmode_second(self, completion):
assert completion == sorted(
"1024x576 1280x800 1440x900 320x200 432x243 640x350 700x450 800x450 928x696 "
"1024x768 1280x960 1600x900 320x240 480x270 640x360 700x525 800x600 960x540 "
"1024x768i 1368x768 1680x1050 360x200 512x288 640x400 720x400 832x624 960x600 "
"1152x864 1400x1050 1920x1080 360x202 512x384 640x480 720x405 840x525 960x720 "
"1280x1024 1400x900 320x175 400x300 512x384i 640x512 720x480 864x486 "
"1280x720 1440x810 320x180 416x312 576x432 684x384 720x576 896x672".split()
)
@pytest.mark.complete("xrandr --delmode ", env=ENV)
def test_delmode_first(self, completion):
assert completion == OUTPUTS
@pytest.mark.complete("xrandr --delmode HDMI-0 ", env=ENV)
def test_delmode_second(self, completion):
assert completion == sorted(
"1024x768 1280x1024 1280x800 1600x900 1920x1080 720x480 "
"800x600 1152x864 1280x720 1440x900 1680x1050 640x480 720x576".split()
)
@pytest.mark.complete("xrandr --dpi ", env=ENV)
def test_dpi(self, completion):
assert completion == OUTPUTS
@pytest.mark.complete("xrandr -o ", env=ENV)
def test_orientation(self, completion):
assert completion == sorted(
"normal inverted left right 0 1 2 3".split()
)
@pytest.mark.complete("xrandr --setmonitor testmonitor ", env=ENV)
def test_setmonitor_second(self, completion):
assert completion == sorted("auto".split())
@pytest.mark.complete("xrandr --setmonitor testmonitor auto ", env=ENV)
def test_setmonitor_third(self, completion):
assert completion == OUTPUTS + ["none"]
@pytest.mark.complete("xrandr --delmonitor ", env=ENV)
def test_delmonitor(self, completion):
assert completion == sorted("eDP-1-1 HDMI-0".split())
@pytest.mark.complete("xrandr --setprovideroutputsource ", env=ENV)
def test_setprovideroutputsource_first(self, completion):
assert completion == sorted("modesetting".split())
@pytest.mark.complete(
"xrandr --setprovideroutputsource modesetting ", env=ENV
)
def test_setprovideroutputsource_second(self, completion):
assert completion == sorted("0x0 modesetting NVIDIA-0".split())
@pytest.mark.complete("xrandr --setprovideroffloadsink ", env=ENV)
def test_setprovideroffloadsink_first(self, completion):
assert completion == sorted("modesetting".split())
@pytest.mark.complete(
"xrandr --setprovideroffloadsink modesetting ", env=ENV
)
def test_setprovideroffloadsink_second(self, completion):
assert completion == sorted("0x0 modesetting".split())
|