test_buttonhandle.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. from panda3d.core import ButtonHandle
  2. from panda3d.core import GamepadButton
  3. from panda3d.core import KeyboardButton
  4. from panda3d.core import MouseButton
  5. def test_buttonhandle_type():
  6. assert ButtonHandle.get_class_type().name == "ButtonHandle"
  7. def test_buttonhandle_none():
  8. none = ButtonHandle.none()
  9. assert none.index == 0
  10. assert none.name == "none"
  11. assert none == ButtonHandle.none()
  12. assert none.alias == none
  13. assert repr(none) == "none"
  14. assert str(none) == "none"
  15. def test_gamepadbutton_joystick():
  16. # The first one is called "trigger"
  17. assert GamepadButton.trigger() == GamepadButton.joystick(0)
  18. assert GamepadButton.joystick(0).name == "trigger"
  19. for i in range(1, 8):
  20. btn = GamepadButton.joystick(i)
  21. assert btn.name == "joystick" + str(i + 1)
  22. def test_keyboardbutton_ascii():
  23. assert KeyboardButton.space() == KeyboardButton.ascii_key(' ')
  24. assert KeyboardButton.backspace() == KeyboardButton.ascii_key('\x08')
  25. assert KeyboardButton.tab() == KeyboardButton.ascii_key('\x09')
  26. assert KeyboardButton.enter() == KeyboardButton.ascii_key('\x0d')
  27. assert KeyboardButton.escape() == KeyboardButton.ascii_key('\x1b')
  28. assert KeyboardButton.ascii_key(' ').name == 'space'
  29. assert KeyboardButton.ascii_key('\x08').name == 'backspace'
  30. assert KeyboardButton.ascii_key('\x09').name == 'tab'
  31. assert KeyboardButton.ascii_key('\x0d').name == 'enter'
  32. assert KeyboardButton.ascii_key('\x1b').name == 'escape'
  33. assert KeyboardButton.ascii_key('\x7f').name == 'delete'
  34. assert KeyboardButton.ascii_key('a').name == 'a'
  35. def test_mousebutton():
  36. btns = [MouseButton.one(),
  37. MouseButton.two(),
  38. MouseButton.three(),
  39. MouseButton.four(),
  40. MouseButton.five()]
  41. for i, btn in enumerate(btns):
  42. assert MouseButton.button(i) == btn
  43. assert MouseButton.is_mouse_button(btn)
  44. assert MouseButton.button(5) == ButtonHandle.none()
  45. assert MouseButton.is_mouse_button(MouseButton.wheel_up())
  46. assert MouseButton.is_mouse_button(MouseButton.wheel_down())
  47. assert MouseButton.is_mouse_button(MouseButton.wheel_left())
  48. assert MouseButton.is_mouse_button(MouseButton.wheel_right())