summaryrefslogtreecommitdiff
path: root/testsuite.py
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite.py')
-rw-r--r--testsuite.py39
1 files changed, 38 insertions, 1 deletions
diff --git a/testsuite.py b/testsuite.py
index 69d08c4..dd69ffe 100644
--- a/testsuite.py
+++ b/testsuite.py
@@ -523,7 +523,7 @@ def run_selftests():
format(menu.get_title(), module_vis, menu_vis))
menu_n, menu_m, menu_y, menu_if_n, menu_if_m, menu_if_y, \
- menu_if_m_and_y = c.get_menus()[4:-1]
+ menu_if_m_and_y = c.get_menus()[4:-5]
verify(menu_n.get_title() == "menu n", "Ops - testing the wrong menus")
verify_menu_visibility(menu_n, "n", "n")
@@ -534,6 +534,43 @@ def run_selftests():
verify_menu_visibility(menu_if_y, "y", "y")
verify_menu_visibility(menu_if_m_and_y, "n", "m")
+ # Menu 'visible if' visibility
+
+ menu_visible_if_n, menu_visible_if_m, menu_visible_if_y, \
+ menu_visible_if_m_2 = c.get_menus()[12:]
+
+ def verify_visible_if_visibility(menu, no_module_vis, module_vis):
+ c["MODULES"].set_user_value("n")
+ menu_vis = menu.get_visible_if_visibility()
+ verify(menu_vis == no_module_vis,
+ "menu \"{0}\" should have 'visible if' visibility '{1}' "
+ "without modules, has 'visible if' visibility '{2}'".
+ format(menu.get_title(), no_module_vis, menu_vis))
+
+ c["MODULES"].set_user_value("y")
+ menu_vis = menu.get_visible_if_visibility()
+ verify(menu_vis == module_vis,
+ "menu \"{0}\" should have 'visible if' visibility '{1}' "
+ "with modules, has 'visible if' visibility '{2}'".
+ format(menu.get_title(), module_vis, menu_vis))
+
+ # Ordinary visibility should not affect 'visible if' visibility
+ verify_visible_if_visibility(menu_n, "y", "y")
+ verify_visible_if_visibility(menu_if_n, "y", "y")
+ verify_visible_if_visibility(menu_m, "y", "y")
+ verify_visible_if_visibility(menu_if_m, "y", "y")
+
+ verify_visible_if_visibility(menu_visible_if_n, "n", "n")
+ verify_visible_if_visibility(menu_visible_if_m, "n", "m")
+ verify_visible_if_visibility(menu_visible_if_y, "y", "y")
+ verify_visible_if_visibility(menu_visible_if_m_2, "n", "m")
+
+ # Verify that 'visible if' visibility gets propagated to contained symbols
+ verify_sym_visibility("VISIBLE_IF_n", "n", "n")
+ verify_sym_visibility("VISIBLE_IF_m", "n", "m")
+ verify_sym_visibility("VISIBLE_IF_y", "y", "y")
+ verify_sym_visibility("VISIBLE_IF_m_2", "n", "m")
+
# Comment visibility
def verify_comment_visibility(comment, no_module_vis, module_vis):