61 lines
2.1 KiB
Python
61 lines
2.1 KiB
Python
import sys
|
|
import unittest
|
|
from .. import ext as sdl2ext
|
|
from .. import SDL_WasInit, SDL_INIT_VIDEO, SDL_FlushEvent, SDL_USEREVENT, \
|
|
SDL_FIRSTEVENT, SDL_LASTEVENT, SDL_Event, SDL_UserEvent, SDL_PushEvent
|
|
|
|
|
|
class SDL2ExtTest(unittest.TestCase):
|
|
__tags__ = ["sdl", "sdl2ext"]
|
|
|
|
def test_init_quit(self):
|
|
sdl2ext.init()
|
|
self.assertEqual(SDL_WasInit(SDL_INIT_VIDEO), SDL_INIT_VIDEO)
|
|
sdl2ext.quit()
|
|
self.assertNotEqual(SDL_WasInit(SDL_INIT_VIDEO), SDL_INIT_VIDEO)
|
|
sdl2ext.init()
|
|
sdl2ext.init()
|
|
sdl2ext.init()
|
|
self.assertEqual(SDL_WasInit(SDL_INIT_VIDEO), SDL_INIT_VIDEO)
|
|
sdl2ext.quit()
|
|
self.assertNotEqual(SDL_WasInit(SDL_INIT_VIDEO), SDL_INIT_VIDEO)
|
|
sdl2ext.quit()
|
|
sdl2ext.quit()
|
|
sdl2ext.quit()
|
|
self.assertNotEqual(SDL_WasInit(SDL_INIT_VIDEO), SDL_INIT_VIDEO)
|
|
|
|
def test_get_events(self):
|
|
sdl2ext.init()
|
|
SDL_FlushEvent(SDL_FIRSTEVENT, SDL_LASTEVENT)
|
|
for x in range(10):
|
|
event = SDL_Event()
|
|
event.type = SDL_USEREVENT + 1
|
|
event.user = SDL_UserEvent(type=event.type, timestamp=0,
|
|
windowID=0, code=0)
|
|
SDL_PushEvent(event)
|
|
results = sdl2ext.get_events()
|
|
self.assertEqual(len(results), 10)
|
|
for ev in results:
|
|
self.assertEqual(ev.type, (SDL_USEREVENT + 1))
|
|
|
|
def test_get_events_issue_6(self):
|
|
sdl2ext.init()
|
|
SDL_FlushEvent(SDL_FIRSTEVENT, SDL_LASTEVENT)
|
|
for x in range(12):
|
|
event = SDL_Event()
|
|
event.type = SDL_USEREVENT + x
|
|
event.user = SDL_UserEvent(type=event.type, timestamp=0,
|
|
windowID=0, code=0)
|
|
SDL_PushEvent(event)
|
|
results = sdl2ext.get_events()
|
|
for idx, r in enumerate(results):
|
|
self.assertEqual(idx, r.type - SDL_USEREVENT)
|
|
|
|
def test_TestEventProcessor(self):
|
|
proc = sdl2ext.TestEventProcessor()
|
|
self.assertIsInstance(proc, sdl2ext.TestEventProcessor)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(unittest.main())
|