| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- from panda3d.core import ModifierButtons
- def test_modifierbuttons_empty():
- # Tests the initial state of a ModifierButtons object.
- btns = ModifierButtons()
- assert btns == ModifierButtons(btns)
- assert btns != ModifierButtons()
- assert btns.matches(ModifierButtons())
- assert not btns.is_down("alt")
- assert not btns.is_any_down()
- assert not btns.has_button("alt")
- assert btns.get_prefix() == ""
- assert btns.get_num_buttons() == 0
- assert len(btns.buttons) == 0
- def test_modifierbuttons_cow():
- # Tests the copy-on-write mechanism of the button list.
- btns1 = ModifierButtons()
- btns1.add_button("space")
- # Modifying original should not affect copy
- btns2 = ModifierButtons(btns1)
- assert tuple(btns2.buttons) == tuple(btns1.buttons)
- btns1.add_button("enter")
- assert tuple(btns1.buttons) == ("space", "enter")
- assert tuple(btns2.buttons) == ("space",)
- # Modifying copy should not affect original
- btns3 = ModifierButtons(btns2)
- assert tuple(btns3.buttons) == tuple(btns2.buttons)
- btns3.add_button("escape")
- assert tuple(btns2.buttons) == ("space",)
- assert tuple(btns3.buttons) == ("space", "escape")
- def test_modifierbuttons_assign():
- # Tests assignment operator.
- btns1 = ModifierButtons()
- btns1.add_button("space")
- btns2 = ModifierButtons()
- btns2.assign(btns1)
- assert btns1 == btns2
- assert tuple(btns1.buttons) == tuple(btns2.buttons)
- def test_modifierbuttons_state():
- btns = ModifierButtons()
- btns.add_button("alt")
- btns.add_button("shift")
- btns.add_button("control")
- assert not btns.is_any_down()
- # Not tracked
- btns.button_down("enter")
- assert not btns.is_any_down()
- # Tracked
- btns.button_down("shift")
- assert btns.is_any_down()
- assert not btns.is_down(0)
- assert btns.is_down(1)
- assert not btns.is_down(2)
- btns.button_up("shift")
- assert not btns.is_any_down()
- assert not btns.is_down(0)
- assert not btns.is_down(1)
- assert not btns.is_down(2)
- btns.button_down("alt")
- btns.button_down("shift")
- assert btns.is_any_down()
- assert btns.is_down(0)
- assert btns.is_down(1)
- assert not btns.is_down(2)
- btns.all_buttons_up()
- assert not btns.is_any_down()
- assert not btns.is_down(0)
- assert not btns.is_down(1)
- assert not btns.is_down(2)
|