diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2012-12-14 11:13:18 +0100 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2012-12-14 11:13:18 +0100 |
| commit | 91d9c7cb3f27bcb9ddf0111ec0589b14c79f101d (patch) | |
| tree | 6d9961d025dde59c99b8429d27d18f717a3c2b55 | |
| parent | 37cbe272c14bba43d8368447129da0cb541427e1 (diff) | |
Add selftests for 'visible if' visibility.
| -rw-r--r-- | tests/Kvisibility | 30 | ||||
| -rw-r--r-- | testsuite.py | 39 |
2 files changed, 68 insertions, 1 deletions
diff --git a/tests/Kvisibility b/tests/Kvisibility index 11e15ad..715d098 100644 --- a/tests/Kvisibility +++ b/tests/Kvisibility @@ -275,3 +275,33 @@ config HEX_m hex "hex" endif + +# Menu 'visible if' visibility + +menu "n-visible menu" + visible if n +config VISIBLE_IF_n + tristate "visible if n" +endmenu + +menu "m-visible menu" + visible if m +config VISIBLE_IF_m + tristate "visible if m" +endmenu + +menu "y-visible menu" + visible if y +config VISIBLE_IF_y + tristate "visible if m" +endmenu + +menu "m-visible menu 2" + visible if y || n + visible if m && y + visible if y +if y +config VISIBLE_IF_m_2 + tristate "visible if m 2" +endif +endmenu 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): |
