1
- from .__init__ import sdl3 , TEST_RegisterFunction , TEST_PassFunction
1
+ from .__init__ import sdl3 , ctypes , TEST_RegisterFunction
2
2
3
3
@TEST_RegisterFunction (["Linux" , "Darwin" , "Windows" ])
4
- def TEST_SDL_Init ():
5
- assert sdl3 .SDL_Init (0 ), sdl3 .SDL_GetError ().decode ()
4
+ def TEST_SDL_Init () -> None :
5
+ assert sdl3 .SDL_Init (sdl3 .SDL_INIT_EVENTS ), sdl3 .SDL_GetError ().decode ()
6
+ assert sdl3 .SDL_WasInit (0 ) & sdl3 .SDL_INIT_EVENTS , "Failed to initialize subsystem."
6
7
assert (error := sdl3 .SDL_GetError ()) == "" .encode (), error .decode ()
7
8
sdl3 .SDL_Quit ()
8
9
9
- @TEST_RegisterFunction (["Darwin" , "Windows" ])
10
- def TEST_SDL_CreateWindow () :
11
- assert sdl3 .SDL_Init (sdl3 .SDL_INIT_VIDEO ), sdl3 .SDL_GetError ().decode ()
12
- assert ( window := sdl3 .SDL_CreateWindow ( "Test" . encode (), 1600 , 900 , sdl3 .SDL_WINDOW_RESIZABLE ) ), sdl3 .SDL_GetError ().decode ()
10
+ @TEST_RegisterFunction (["Linux" , " Darwin" , "Windows" ])
11
+ def TEST_SDL_InitSubSystem () -> None :
12
+ assert sdl3 .SDL_Init (sdl3 .SDL_INIT_AUDIO ), sdl3 .SDL_GetError ().decode ()
13
+ assert sdl3 .SDL_InitSubSystem ( sdl3 .SDL_INIT_EVENTS ), sdl3 .SDL_GetError ().decode ()
13
14
assert (error := sdl3 .SDL_GetError ()) == "" .encode (), error .decode ()
14
- sdl3 .SDL_DestroyWindow (window )
15
- sdl3 .SDL_Quit ()
15
+ assert sdl3 .SDL_WasInit (0 ) & sdl3 .SDL_INIT_EVENTS , "Failed to initialize subsystem."
16
+ assert sdl3 .SDL_WasInit (0 ) & sdl3 .SDL_INIT_AUDIO , "Failed to initialize subsystem."
17
+ sdl3 .SDL_QuitSubSystem (sdl3 .SDL_INIT_EVENTS )
18
+ sdl3 .SDL_Quit ()
19
+
20
+ @TEST_RegisterFunction (["Linux" , "Darwin" , "Windows" ])
21
+ def TEST_SDL_IsMainThread () -> None :
22
+ assert sdl3 .SDL_IsMainThread (), sdl3 .SDL_GetError ().decode ()
23
+
24
+ @sdl3 .SDL_MainThreadCallback
25
+ def callback (data : ctypes .c_void_p ) -> None :
26
+ ctypes .cast (data , ctypes .POINTER (ctypes .c_bool ))[0 ] = True
27
+
28
+ @TEST_RegisterFunction (["Linux" , "Darwin" , "Windows" ])
29
+ def TEST_SDL_RunOnMainThread () -> None :
30
+ data = ctypes .pointer (ctypes .c_bool (False ))
31
+ assert sdl3 .SDL_RunOnMainThread (callback , ctypes .cast (data , ctypes .c_void_p ), True ), sdl3 .SDL_GetError ().decode ()
32
+ assert data [0 ], "Failed to run on main thread."
0 commit comments