forked from panda3d/panda3d
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_DirectOptionMenu.py
More file actions
73 lines (53 loc) · 1.91 KB
/
test_DirectOptionMenu.py
File metadata and controls
73 lines (53 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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