summaryrefslogtreecommitdiff
path: root/tests/vb2_ui_utility_tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vb2_ui_utility_tests.c')
-rw-r--r--tests/vb2_ui_utility_tests.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/vb2_ui_utility_tests.c b/tests/vb2_ui_utility_tests.c
index 821402a9..fd2eda8c 100644
--- a/tests/vb2_ui_utility_tests.c
+++ b/tests/vb2_ui_utility_tests.c
@@ -268,6 +268,18 @@ static void check_shutdown_request_tests(void)
VB2_DEBUG("...done.\n");
}
+static vb2_error_t try_back_helper(void)
+{
+ VB2_TRY(vb2_ui_screen_back(&mock_ui_context));
+ return VB2_ERROR_MOCK;
+}
+
+static vb2_error_t try_screen_change_helper(enum vb2_screen screen_id)
+{
+ VB2_TRY(vb2_ui_screen_change(&mock_ui_context, screen_id));
+ return VB2_ERROR_MOCK;
+}
+
static void screen_stack_tests(void)
{
VB2_DEBUG("Testing screen stack functionality...\n");
@@ -299,6 +311,16 @@ static void screen_stack_tests(void)
screen_state_eq(mock_ui_context.state, MOCK_SCREEN_BASE, 2, 0x10);
TEST_EQ(mock_action_called, 1, " action called once");
+ /* VB2_TRY around back should return right away */
+ reset_common_data();
+ TEST_NEQ(try_back_helper(), VB2_ERROR_MOCK,
+ "continued executing after VB2_TRY(back)");
+
+ /* VB2_TRY around screen_change should return right away */
+ reset_common_data();
+ TEST_NEQ(try_screen_change_helper(MOCK_SCREEN_ROOT), VB2_ERROR_MOCK,
+ "continued executing after VB2_TRY(screen_change)");
+
/* Change to target screen already in stack, restoring the state */
reset_common_data();
mock_screen_base.init = mock_action_base;