File: syswm_test.py

package info (click to toggle)
pysdl2 0.9.9%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,276 kB
  • sloc: python: 18,592; makefile: 148; sh: 40
file content (41 lines) | stat: -rw-r--r-- 1,519 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import sys
import pytest
import ctypes
from sdl2.stdinc import SDL_TRUE
from sdl2 import video, syswm, version


class TestSDLSysWM(object):
    __tags__ = ["sdl"]

    @classmethod
    def setup_class(cls):
        if video.SDL_VideoInit(None) != 0:
            raise pytest.skip('Video subsystem not supported')

    @classmethod
    def teardown_class(cls):
        video.SDL_VideoQuit()

    def test_SDL_GetWindowWMInfo(self):
        if video.SDL_GetCurrentVideoDriver() == b"dummy":
            pytest.skip("cannot retrieve WM information for the dummy video driver")

        window = video.SDL_CreateWindow(b"Test", 10, 10, 10, 10,
                                        video.SDL_WINDOW_HIDDEN)
        wminfo = syswm.SDL_SysWMinfo()
        version.SDL_VERSION(wminfo.version)
        ret = syswm.SDL_GetWindowWMInfo(window, ctypes.byref(wminfo))
        assert ret == SDL_TRUE
        if sys.platform in ("win32", "cygwin"):
            assert wminfo.subsystem == syswm.SDL_SYSWM_WINDOWS
        elif sys.platform.startswith("linux"):
            assert wminfo.subsystem in \
                   (syswm.SDL_SYSWM_X11, syswm.SDL_SYSWM_DIRECTFB)
        elif sys.platform.startswith("freebsd"):
            assert wminfo.subsystem in \
                   (syswm.SDL_SYSWM_X11, syswm.SDL_SYSWM_DIRECTFB)
        elif sys.platform.startswith("darwin"):
            assert wminfo.subsystem == syswm.SDL_SYSWM_COCOA
        video.SDL_DestroyWindow(window)
        # TODO: not sure, what to test here specifically