diff options
Diffstat (limited to 'test/t/test_xrandr.py')
-rw-r--r-- | test/t/test_xrandr.py | 119 |
1 files changed, 113 insertions, 6 deletions
diff --git a/test/t/test_xrandr.py b/test/t/test_xrandr.py index e766922..8d8a6bc 100644 --- a/test/t/test_xrandr.py +++ b/test/t/test_xrandr.py @@ -1,15 +1,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_1(self, completion): + def test_no_args(self, completion): assert completion - @pytest.mark.complete("xrandr --mode ") - def test_2(self, completion): - assert not completion - @pytest.mark.complete("xrandr -", require_cmd=True) - def test_3(self, completion): + 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()) |