mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-19 13:15:00 -04:00
74 lines
1.9 KiB
Python
74 lines
1.9 KiB
Python
from direct.gui.DirectOptionMenu import DirectOptionMenu
|
|
import pytest
|
|
|
|
|
|
def test_menu_destroy():
|
|
menu = DirectOptionMenu(items=["item1", "item2"])
|
|
menu.destroy()
|
|
|
|
|
|
def test_showPopupMenu():
|
|
menu = DirectOptionMenu()
|
|
|
|
# Showing an option menu without items will raise an exception
|
|
with pytest.raises(Exception):
|
|
menu.showPopupMenu()
|
|
|
|
menu["items"] = ["item1", "item2"]
|
|
menu.showPopupMenu()
|
|
assert not menu.popupMenu.isHidden()
|
|
assert not menu.cancelFrame.isHidden()
|
|
|
|
menu.hidePopupMenu()
|
|
assert menu.popupMenu.isHidden()
|
|
assert menu.cancelFrame.isHidden()
|
|
|
|
|
|
def test_index():
|
|
menu = DirectOptionMenu(items=["item1", "item2"])
|
|
assert menu.index("item1") == 0
|
|
assert menu.index("item2") == 1
|
|
|
|
|
|
def test_set_get():
|
|
menu = DirectOptionMenu(items=["item1", "item2"])
|
|
menu.set(1, False)
|
|
assert menu.selectedIndex == 1
|
|
assert menu.get() == "item2"
|
|
assert menu["text"] == "item2"
|
|
|
|
|
|
def test_initialitem():
|
|
# initialitem by string
|
|
menuByStr = DirectOptionMenu(items=["item1", "item2"], initialitem="item2")
|
|
assert menuByStr.get() == "item2"
|
|
assert menuByStr["text"] == "item2"
|
|
|
|
# initialitem by Index
|
|
menuByIdx = DirectOptionMenu(items=["item1", "item2"], initialitem=1)
|
|
assert menuByIdx.get() == "item2"
|
|
assert menuByIdx["text"] == "item2"
|
|
|
|
|
|
def test_item_text_scale():
|
|
highlightScale = (2, 2)
|
|
unhighlightScale = (0.5, 0.5)
|
|
menu = DirectOptionMenu(
|
|
items=["item1", "item2"],
|
|
item_text_scale=unhighlightScale,
|
|
highlightScale=highlightScale)
|
|
|
|
# initial scale
|
|
item = menu.component("item0")
|
|
|
|
item_text_scale = 0.8
|
|
assert item["text_scale"] == unhighlightScale
|
|
|
|
# highlight scale
|
|
menu._highlightItem(item, 0)
|
|
assert item["text_scale"] == highlightScale
|
|
|
|
# back to initial scale
|
|
menu._unhighlightItem(item, item["frameColor"])
|
|
assert item["text_scale"] == unhighlightScale
|