56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
import sys
|
|
import unittest
|
|
from .. import SDL_Init, SDL_Quit, SDL_InitSubSystem, SDL_INIT_EVERYTHING
|
|
from .. import clipboard
|
|
from ..stdinc import SDL_TRUE
|
|
from .util.testutils import interactive, doprint
|
|
|
|
|
|
def is_win_or_mac():
|
|
return sys.platform in ("win32", "cygwin", "darwin")
|
|
|
|
|
|
class SDLClipboardTest(unittest.TestCase):
|
|
__tags__ = ["sdl"]
|
|
|
|
def setUp(self):
|
|
SDL_Init(SDL_INIT_EVERYTHING)
|
|
|
|
def tearDown(self):
|
|
SDL_Quit()
|
|
|
|
@unittest.skipIf(not is_win_or_mac(), "we would need a SDL window")
|
|
@interactive()
|
|
def test_SDL_HasClipboardText(self):
|
|
doprint("Please put some text on the clipboard")
|
|
self.assertEqual(clipboard.SDL_HasClipboardText(), SDL_TRUE)
|
|
|
|
@unittest.skipIf(not is_win_or_mac(), "we would need a SDL window")
|
|
@interactive("Does the shown value match the clipboard content?")
|
|
def test_SDL_GetClipboardText(self):
|
|
doprint("Please put some text on the clipboard")
|
|
retval = clipboard.SDL_GetClipboardText()
|
|
doprint("Clipboard content: '%s'" % retval)
|
|
|
|
@unittest.skipIf(not is_win_or_mac(), "we would need a SDL window")
|
|
def test_SDL_SetClipboardText(self):
|
|
self.assertEquals(clipboard.SDL_SetClipboardText(b"Test content"), 0)
|
|
retval = clipboard.SDL_GetClipboardText()
|
|
self.assertEqual(retval, b"Test content")
|
|
|
|
self.assertEquals(clipboard.SDL_SetClipboardText(b""), 0)
|
|
retval = clipboard.SDL_GetClipboardText()
|
|
self.assertEqual(retval, b"")
|
|
|
|
self.assertEquals(clipboard.SDL_SetClipboardText(b"Test content"), 0)
|
|
retval = clipboard.SDL_GetClipboardText()
|
|
self.assertEqual(retval, b"Test content")
|
|
|
|
self.assertEquals(clipboard.SDL_SetClipboardText(None), 0)
|
|
retval = clipboard.SDL_GetClipboardText()
|
|
self.assertEqual(retval, b"")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(unittest.main())
|