PageRenderTime 50ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/pygame2/test/sdl_shape_test.py

https://bitbucket.org/pcraven/pygame2
Python | 94 lines | 58 code | 14 blank | 22 comment | 6 complexity | eec49483084114b8dbf61deea4fb1c2c MD5 | raw file
  1. import sys
  2. import unittest
  3. import pygame2.sdl as sdl
  4. import pygame2.sdl.shape as shape
  5. import pygame2.sdl.video as video
  6. import pygame2.sdl.surface as surface
  7. class SDLShapeTest(unittest.TestCase):
  8. __tags__ = ["sdl"]
  9. def setUp(self):
  10. sdl.init(sdl.SDL_INIT_EVERYTHING)
  11. if sys.version.startswith("3.1"):
  12. self.assertIsInstance = \
  13. lambda x, t: self.assertTrue(isinstance(x, t))
  14. def tearDown(self):
  15. sdl.quit_subsystem(sdl.SDL_INIT_EVERYTHING)
  16. sdl.quit()
  17. def test_create_shaped_window(self):
  18. flags = (video.SDL_WINDOW_HIDDEN, )
  19. for flag in flags:
  20. window = shape.create_shaped_window("Test", 10, 10, 10, 10, flag)
  21. self.assertIsInstance(window, video.SDL_Window)
  22. video.destroy_window(window)
  23. def test_is_shaped_window(self):
  24. flags = (video.SDL_WINDOW_HIDDEN, )
  25. for flag in flags:
  26. window = shape.create_shaped_window("Test", 10, 10, 10, 10, flag)
  27. self.assertIsInstance(window, video.SDL_Window)
  28. val = shape.is_shaped_window(window)
  29. self.assertTrue(val)
  30. video.destroy_window(window)
  31. window = video.create_window("Test", 10, 10, 10, 10, flag)
  32. self.assertIsInstance(window, video.SDL_Window)
  33. val = shape.is_shaped_window(window)
  34. self.assertFalse(val)
  35. video.destroy_window(window)
  36. def test_set_window_shape(self):
  37. sf = surface.create_rgb_surface(10, 10, 32)
  38. mode = shape.SDL_WindowShapeMode()
  39. mode.mode = shape.ShapeModeDefault
  40. mode.parameters = shape.SDL_WindowShapeParams()
  41. mode.parameters.binarizationCutoff = 1
  42. flags = (video.SDL_WINDOW_HIDDEN, )
  43. for flag in flags:
  44. # TODO: find out, how shaping is supposed to work :-)
  45. # window = shape.create_shaped_window("Test", 10, 10, 10, 10, flag)
  46. # self.assertIsInstance(window, video.SDL_Window)
  47. # self.assertTrue(shape.is_shaped_window(window))
  48. # self.assertRaises(TypeError, shape.set_window_shape,
  49. # None, None, None)
  50. # self.assertRaises(TypeError, shape.set_window_shape,
  51. # window, None, None)
  52. # self.assertRaises(TypeError, shape.set_window_shape,
  53. # window, sf, None)
  54. # self.assertRaises(TypeError, shape.set_window_shape,
  55. # "Test", sf, mode)
  56. # self.assertRaises(TypeError, shape.set_window_shape,
  57. # window, 12345, mode)
  58. # self.assertRaises(TypeError, shape.set_window_shape,
  59. # window, sf, "Test")
  60. # shape.set_window_shape(window, sf, mode)
  61. # wmode = shape.get_shaped_window_mode(window)
  62. # self.assertEqual(wmode.mode, mode.mode)
  63. # self.assertEqual(wmode.parameters.binarizationCutoff,
  64. # mode.parameters.binarizationCutoff)
  65. # video.destroy_window(window)
  66. window = video.create_window("Test", 10, 10, 10, 10, flag)
  67. self.assertIsInstance(window, video.SDL_Window)
  68. self.assertRaises(sdl.SDLError, shape.set_window_shape,
  69. window, sf, mode)
  70. video.destroy_window(window)
  71. def test_get_shaped_window_mode(self):
  72. flags = (video.SDL_WINDOW_HIDDEN, )
  73. for flag in flags:
  74. window = shape.create_shaped_window("Test", 10, 10, 10, 10, flag)
  75. self.assertIsInstance(window, video.SDL_Window)
  76. mode = shape.get_shaped_window_mode(window)
  77. self.assertIsInstance(mode, shape.SDL_WindowShapeMode)
  78. video.destroy_window(window)
  79. if __name__ == '__main__':
  80. sys.exit(unittest.main())