40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
import sys
|
|
import unittest
|
|
import ctypes
|
|
from ..stdinc import SDL_TRUE
|
|
from .. import video, syswm, version
|
|
|
|
|
|
class SDLSysWMTest(unittest.TestCase):
|
|
__tags__ = ["sdl"]
|
|
|
|
def setUp(self):
|
|
video.SDL_VideoInit(None)
|
|
|
|
def tearDown(self):
|
|
video.SDL_VideoQuit()
|
|
|
|
def test_SDL_GetWindowWMInfo(self):
|
|
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))
|
|
self.assertEqual(ret, SDL_TRUE)
|
|
if sys.platform in ("win32", "cygwin"):
|
|
self.assertEqual(wminfo.subsystem, syswm.SDL_SYSWM_WINDOWS)
|
|
elif sys.platform.startswith("linux"):
|
|
self.assertIn(wminfo.subsystem,
|
|
(syswm.SDL_SYSWM_X11, syswm.SDL_SYSWM_DIRECTFB))
|
|
elif sys.platform.startswith("freebsd"):
|
|
self.assertIn(wminfo.subsystem,
|
|
(syswm.SDL_SYSWM_X11, syswm.SDL_SYSWM_DIRECTFB))
|
|
elif sys.platform.startswith("darwin"):
|
|
self.assertEqual(wminfo.subsystem, syswm.SDL_SYSWM_COCOA)
|
|
video.SDL_DestroyWindow(window)
|
|
# TODO: not sure, what to test here specifically
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(unittest.main())
|