summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2020-05-20 13:58:01 +0800
committerCommit Bot <commit-bot@chromium.org>2020-05-27 06:23:00 +0000
commit0b85f4d7a5ec41332a38d7d763d9a7bd38bdbfb6 (patch)
tree6a233f644a13ff99be15f9142b1167bce911f4aa
parent0ba818558937609e1c13a96a32369aba261828d3 (diff)
downloadvboot-0b85f4d7a5ec41332a38d7d763d9a7bd38bdbfb6.tar.gz
vboot/ui: improve menu navigation docstrings
BUG=b:146399181 TEST=make clean && make runtests BRANCH=none Change-Id: I8cd47503384a8b8f48ccbc12fa6f24c71d02b755 Signed-off-by: Joel Kitching <kitching@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2210016 Reviewed-by: Hsuan Ting Chen <roccochen@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org> Commit-Queue: Yu-Ping Wu <yupingso@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org>
-rw-r--r--firmware/2lib/2ui.c145
-rw-r--r--firmware/2lib/2ui_screens.c16
-rw-r--r--firmware/2lib/include/2ui.h62
-rw-r--r--firmware/2lib/include/2ui_private.h2
-rw-r--r--tests/vb2_ui_action_tests.c48
-rw-r--r--tests/vb2_ui_utility_tests.c9
6 files changed, 172 insertions, 110 deletions
diff --git a/firmware/2lib/2ui.c b/firmware/2lib/2ui.c
index adf07867..b7a9cad7 100644
--- a/firmware/2lib/2ui.c
+++ b/firmware/2lib/2ui.c
@@ -74,11 +74,73 @@ vb2_error_t check_shutdown_request(struct vb2_ui_context *ui)
/* Menu navigation actions */
/**
- * Update selected_item, taking into account disabled indices (from
- * disabled_item_mask). The selection does not wrap, meaning that we block
- * on the 0 or max index when we hit the top or bottom of the menu.
+ * Context-dependent keyboard shortcut Ctrl+D.
+ *
+ * - Manual recovery mode: Change to dev mode transition screen.
+ * - Developer mode: Boot from internal disk.
*/
-vb2_error_t menu_up_action(struct vb2_ui_context *ui)
+vb2_error_t ctrl_d_action(struct vb2_ui_context *ui)
+{
+ if (vb2_allow_recovery(ui->ctx))
+ return change_to_dev_screen_action(ui);
+ else if (ui->ctx->flags & VB2_CONTEXT_DEVELOPER_MODE)
+ return vb2_ui_developer_mode_boot_internal_action(ui);
+
+ return VB2_REQUEST_UI_CONTINUE;
+}
+
+vb2_error_t change_to_dev_screen_action(struct vb2_ui_context *ui)
+{
+ if (vb2_allow_recovery(ui->ctx))
+ return vb2_ui_change_screen(ui, VB2_SCREEN_RECOVERY_TO_DEV);
+
+ return VB2_REQUEST_UI_CONTINUE;
+}
+
+/*****************************************************************************/
+/* Action lookup tables */
+
+static struct input_action action_table[] = {
+ /* Common navigation (keyboard) */
+ { VB_KEY_UP, vb2_ui_menu_prev },
+ { VB_KEY_DOWN, vb2_ui_menu_next },
+ { VB_KEY_ENTER, vb2_ui_menu_select },
+ { VB_KEY_ESC, vb2_ui_change_root },
+
+ /* Common navigation (detachable) */
+ { VB_BUTTON_VOL_UP_SHORT_PRESS, vb2_ui_menu_prev },
+ { VB_BUTTON_VOL_DOWN_SHORT_PRESS, vb2_ui_menu_next },
+ { VB_BUTTON_POWER_SHORT_PRESS, vb2_ui_menu_select },
+
+ /* Context-specific: developer and recovery */
+ { VB_KEY_CTRL('D'), ctrl_d_action },
+
+ /* Context-specific: recovery mode */
+ { VB_BUTTON_VOL_UP_DOWN_COMBO_PRESS, change_to_dev_screen_action },
+ { ' ', vb2_ui_recovery_to_dev_action },
+
+ /* Context-specific: developer mode */
+ { VB_KEY_CTRL('U'),
+ vb2_ui_developer_mode_boot_external_action },
+ { VB_BUTTON_VOL_UP_LONG_PRESS,
+ vb2_ui_developer_mode_boot_external_action },
+ { VB_BUTTON_VOL_DOWN_LONG_PRESS,
+ vb2_ui_developer_mode_boot_internal_action },
+};
+
+vb2_error_t (*input_action_lookup(int key))(struct vb2_ui_context *ui)
+{
+ int i;
+ for (i = 0; i < ARRAY_SIZE(action_table); i++)
+ if (action_table[i].key == key)
+ return action_table[i].action;
+ return NULL;
+}
+
+/*****************************************************************************/
+/* Menu navigation functions */
+
+vb2_error_t vb2_ui_menu_prev(struct vb2_ui_context *ui)
{
int item;
@@ -96,7 +158,7 @@ vb2_error_t menu_up_action(struct vb2_ui_context *ui)
return VB2_REQUEST_UI_CONTINUE;
}
-vb2_error_t menu_down_action(struct vb2_ui_context *ui)
+vb2_error_t vb2_ui_menu_next(struct vb2_ui_context *ui)
{
int item;
@@ -114,10 +176,7 @@ vb2_error_t menu_down_action(struct vb2_ui_context *ui)
return VB2_REQUEST_UI_CONTINUE;
}
-/**
- * Navigate to the target screen of the current menu item selection.
- */
-vb2_error_t vb2_ui_menu_select_action(struct vb2_ui_context *ui)
+vb2_error_t vb2_ui_menu_select(struct vb2_ui_context *ui)
{
const struct vb2_menu_item *menu_item;
@@ -143,73 +202,14 @@ vb2_error_t vb2_ui_menu_select_action(struct vb2_ui_context *ui)
return VB2_REQUEST_UI_CONTINUE;
}
-/**
- * Return back to the previous screen.
- */
-vb2_error_t vb2_ui_back_action(struct vb2_ui_context *ui)
-{
- /* TODO(kitching): Return to previous screen instead of root screen. */
- return vb2_ui_change_screen(ui, ui->root_screen->id);
-}
-
-/**
- * Context-dependent keyboard shortcut Ctrl+D.
- *
- * - Manual recovery mode: Change to dev mode transition screen.
- * - Developer mode: Boot from internal disk.
- */
-vb2_error_t ctrl_d_action(struct vb2_ui_context *ui)
-{
- if (vb2_allow_recovery(ui->ctx))
- return change_to_dev_screen_action(ui);
- else if (ui->ctx->flags & VB2_CONTEXT_DEVELOPER_MODE)
- return vb2_ui_developer_mode_boot_internal_action(ui);
-
- return VB2_REQUEST_UI_CONTINUE;
-}
-
-vb2_error_t change_to_dev_screen_action(struct vb2_ui_context *ui)
-{
- if (vb2_allow_recovery(ui->ctx))
- return vb2_ui_change_screen(ui, VB2_SCREEN_RECOVERY_TO_DEV);
-
- return VB2_REQUEST_UI_CONTINUE;
-}
-
/*****************************************************************************/
-/* Action lookup tables */
-
-static struct input_action action_table[] = {
- { VB_KEY_UP, menu_up_action },
- { VB_KEY_DOWN, menu_down_action },
- { VB_KEY_ENTER, vb2_ui_menu_select_action },
- { VB_BUTTON_VOL_UP_SHORT_PRESS, menu_up_action },
- { VB_BUTTON_VOL_DOWN_SHORT_PRESS, menu_down_action },
- { VB_BUTTON_POWER_SHORT_PRESS, vb2_ui_menu_select_action },
- { VB_KEY_ESC, vb2_ui_back_action },
- { VB_KEY_CTRL('D'), ctrl_d_action },
- { VB_BUTTON_VOL_DOWN_LONG_PRESS,
- vb2_ui_developer_mode_boot_internal_action },
- { VB_BUTTON_VOL_UP_DOWN_COMBO_PRESS, change_to_dev_screen_action },
- { ' ', vb2_ui_recovery_to_dev_action },
- { VB_KEY_CTRL('U'),
- vb2_ui_developer_mode_boot_external_action },
- { VB_BUTTON_VOL_UP_LONG_PRESS,
- vb2_ui_developer_mode_boot_external_action },
-};
+/* Screen navigation functions */
-vb2_error_t (*input_action_lookup(int key))(struct vb2_ui_context *ui)
+vb2_error_t vb2_ui_change_root(struct vb2_ui_context *ui)
{
- int i;
- for (i = 0; i < ARRAY_SIZE(action_table); i++)
- if (action_table[i].key == key)
- return action_table[i].action;
- return NULL;
+ return vb2_ui_change_screen(ui, ui->root_screen->id);
}
-/*****************************************************************************/
-/* Core UI functions */
-
vb2_error_t vb2_ui_change_screen(struct vb2_ui_context *ui, enum vb2_screen id)
{
const struct vb2_screen_info *new_screen_info;
@@ -234,6 +234,9 @@ vb2_error_t vb2_ui_change_screen(struct vb2_ui_context *ui, enum vb2_screen id)
return VB2_REQUEST_UI_CONTINUE;
}
+/*****************************************************************************/
+/* Core UI loop */
+
vb2_error_t ui_loop(struct vb2_context *ctx, enum vb2_screen root_screen_id,
vb2_error_t (*global_action)(struct vb2_ui_context *ui))
{
diff --git a/firmware/2lib/2ui_screens.c b/firmware/2lib/2ui_screens.c
index 90a10208..2c8f57b7 100644
--- a/firmware/2lib/2ui_screens.c
+++ b/firmware/2lib/2ui_screens.c
@@ -67,7 +67,7 @@ static const struct vb2_menu_item advanced_options_items[] = {
},
[ADVANCED_OPTIONS_ITEM_BACK] = {
.text = "Back",
- .action = vb2_ui_back_action,
+ .action = vb2_ui_change_root,
},
};
@@ -132,12 +132,12 @@ vb2_error_t recovery_to_dev_init(struct vb2_ui_context *ui)
{
if (vb2_get_sd(ui->ctx)->flags & VB2_SD_FLAG_DEV_MODE_ENABLED) {
VB2_DEBUG("Dev mode already enabled?\n");
- return vb2_ui_back_action(ui);
+ return vb2_ui_change_root(ui);
}
if (!PHYSICAL_PRESENCE_KEYBOARD && vb2ex_physical_presence_pressed()) {
VB2_DEBUG("Presence button stuck?\n");
- return vb2_ui_back_action(ui);
+ return vb2_ui_change_root(ui);
}
/* Disable "Confirm" button for other physical presence types. */
@@ -163,7 +163,7 @@ vb2_error_t vb2_ui_recovery_to_dev_action(struct vb2_ui_context *ui)
if (ui->key == ' ') {
VB2_DEBUG("SPACE means cancel dev mode transition\n");
- return vb2_ui_back_action(ui);
+ return vb2_ui_change_root(ui);
}
if (PHYSICAL_PRESENCE_KEYBOARD) {
@@ -209,7 +209,7 @@ static const struct vb2_menu_item recovery_to_dev_items[] = {
},
[RECOVERY_TO_DEV_ITEM_CANCEL] = {
.text = "Cancel",
- .action = vb2_ui_back_action,
+ .action = vb2_ui_change_root,
},
};
@@ -332,7 +332,7 @@ vb2_error_t developer_mode_action(struct vb2_ui_context *ui)
if (use_short && elapsed > 2 * VB_USEC_PER_SEC) {
VB2_DEBUG("Booting default target after 2s\n");
ui->disable_timer = 1;
- return vb2_ui_menu_select_action(ui);
+ return vb2_ui_menu_select(ui);
}
/* Otherwise, beep at 20 and 20.5 seconds. */
@@ -346,7 +346,7 @@ vb2_error_t developer_mode_action(struct vb2_ui_context *ui)
if (elapsed > 30 * VB_USEC_PER_SEC) {
VB2_DEBUG("Booting default target after 30s\n");
ui->disable_timer = 1;
- return vb2_ui_menu_select_action(ui);
+ return vb2_ui_menu_select(ui);
}
return VB2_REQUEST_UI_CONTINUE;
@@ -398,7 +398,7 @@ static const struct vb2_menu_item developer_to_norm_items[] = {
},
{
.text = "Cancel",
- .action = vb2_ui_back_action,
+ .action = vb2_ui_change_root,
},
};
diff --git a/firmware/2lib/include/2ui.h b/firmware/2lib/include/2ui.h
index 73dd1c75..35716bb1 100644
--- a/firmware/2lib/include/2ui.h
+++ b/firmware/2lib/include/2ui.h
@@ -95,6 +95,68 @@ vb2_error_t vb2_ui_developer_mode_boot_external_action(
const struct vb2_screen_info *vb2_get_screen_info(enum vb2_screen id);
/*****************************************************************************/
+/* Menu navigation functions */
+
+/**
+ * Move selection to the previous menu item.
+ *
+ * Update selected_item, taking into account disabled indices (from
+ * disabled_item_mask). The selection does not wrap, meaning that we block
+ * on 0 when we hit the start of the menu.
+ *
+ * @param ui UI context pointer
+ * @return VB2_REQUEST_UI_CONTINUE, or error code on error.
+ */
+vb2_error_t vb2_ui_menu_prev(struct vb2_ui_context *ui);
+
+/**
+ * Move selection to the next menu item.
+ *
+ * Update selected_item, taking into account disabled indices (from
+ * disabled_item_mask). The selection does not wrap, meaning that we block
+ * on the max index when we hit the end of the menu.
+ *
+ * @param ui UI context pointer
+ * @return VB2_REQUEST_UI_CONTINUE, or error code on error.
+ */
+vb2_error_t vb2_ui_menu_next(struct vb2_ui_context *ui);
+
+/**
+ * Select the current menu item.
+ *
+ * If the current menu item has an action associated with it, run the action.
+ * Otherwise, navigate to the target screen. If neither of these are set, then
+ * selecting the menu item is a no-op.
+ *
+ * @param ui UI context pointer
+ * @return VB2_REQUEST_UI_CONTINUE, or error code on error.
+ */
+vb2_error_t vb2_ui_menu_select(struct vb2_ui_context *ui);
+
+/*****************************************************************************/
+/* Screen navigation functions */
+
+/**
+ * Return back to the root screen.
+ *
+ * Return to the root screen originally provided to the ui_loop() function.
+ *
+ * @param ui UI context pointer
+ * @return VB2_REQUEST_UI_CONTINUE, or error code on error.
+ */
+vb2_error_t vb2_ui_change_root(struct vb2_ui_context *ui);
+
+/**
+ * Change to the given screen.
+ *
+ * If the screen is not found, the request is ignored.
+ *
+ * @param ui UI context pointer
+ * @return VB2_REQUEST_UI_CONTINUE, or error code on error.
+ */
+vb2_error_t vb2_ui_change_screen(struct vb2_ui_context *ui, enum vb2_screen id);
+
+/*****************************************************************************/
/* UI loops */
/**
diff --git a/firmware/2lib/include/2ui_private.h b/firmware/2lib/include/2ui_private.h
index 891c0414..96caf649 100644
--- a/firmware/2lib/include/2ui_private.h
+++ b/firmware/2lib/include/2ui_private.h
@@ -17,8 +17,6 @@ struct input_action {
vb2_error_t (*action)(struct vb2_ui_context *ui);
};
-vb2_error_t menu_up_action(struct vb2_ui_context *ui);
-vb2_error_t menu_down_action(struct vb2_ui_context *ui);
vb2_error_t ctrl_d_action(struct vb2_ui_context *ui);
vb2_error_t change_to_dev_screen_action(struct vb2_ui_context *ui);
vb2_error_t (*input_action_lookup(int key))(struct vb2_ui_context *ui);
diff --git a/tests/vb2_ui_action_tests.c b/tests/vb2_ui_action_tests.c
index 166830c4..3d34d768 100644
--- a/tests/vb2_ui_action_tests.c
+++ b/tests/vb2_ui_action_tests.c
@@ -375,16 +375,16 @@ vb2_error_t VbTryLoadKernel(struct vb2_context *c, uint32_t get_info_flags)
}
/* Tests */
-static void menu_up_action_tests(void)
+static void menu_prev_tests(void)
{
- VB2_DEBUG("Testing menu_up_action...\n");
+ VB2_DEBUG("Testing menu_prev...\n");
/* Valid action */
reset_common_data();
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = 2;
mock_ui_context.key = VB_KEY_UP;
- TEST_EQ(menu_up_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_menu_prev(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"valid action");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 1, MOCK_IGNORE);
@@ -394,7 +394,7 @@ static void menu_up_action_tests(void)
mock_state->selected_item = 2;
mock_state->disabled_item_mask = 0x0a; /* 0b01010 */
mock_ui_context.key = VB_KEY_UP;
- TEST_EQ(menu_up_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_menu_prev(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"valid action with mask");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 0, MOCK_IGNORE);
@@ -403,7 +403,7 @@ static void menu_up_action_tests(void)
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = 0;
mock_ui_context.key = VB_KEY_UP;
- TEST_EQ(menu_up_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_menu_prev(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"invalid action (blocked)");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 0, MOCK_IGNORE);
@@ -413,7 +413,7 @@ static void menu_up_action_tests(void)
mock_state->selected_item = 2;
mock_state->disabled_item_mask = 0x0b; /* 0b01011 */
mock_ui_context.key = VB_KEY_UP;
- TEST_EQ(menu_up_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_menu_prev(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"invalid action (blocked by mask)");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 2, MOCK_IGNORE);
@@ -423,7 +423,7 @@ static void menu_up_action_tests(void)
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = 2;
mock_ui_context.key = VB_BUTTON_VOL_UP_SHORT_PRESS;
- TEST_EQ(menu_up_action(&mock_ui_context),
+ TEST_EQ(vb2_ui_menu_prev(&mock_ui_context),
VB2_REQUEST_UI_CONTINUE,
"ignore volume-up when not DETACHABLE");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 2, MOCK_IGNORE);
@@ -432,16 +432,16 @@ static void menu_up_action_tests(void)
VB2_DEBUG("...done.\n");
}
-static void menu_down_action_tests(void)
+static void menu_next_tests(void)
{
- VB2_DEBUG("Testing menu_down_action...\n");
+ VB2_DEBUG("Testing menu_next...\n");
/* Valid action */
reset_common_data();
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = 2;
mock_ui_context.key = VB_KEY_DOWN;
- TEST_EQ(menu_down_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_menu_next(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"valid action");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 3, MOCK_IGNORE);
@@ -451,7 +451,7 @@ static void menu_down_action_tests(void)
mock_state->selected_item = 2;
mock_state->disabled_item_mask = 0x0a; /* 0b01010 */
mock_ui_context.key = VB_KEY_DOWN;
- TEST_EQ(menu_down_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_menu_next(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"valid action with mask");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 4, MOCK_IGNORE);
@@ -460,7 +460,7 @@ static void menu_down_action_tests(void)
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = 4;
mock_ui_context.key = VB_KEY_DOWN;
- TEST_EQ(menu_down_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_menu_next(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"invalid action (blocked)");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 4, MOCK_IGNORE);
@@ -470,7 +470,7 @@ static void menu_down_action_tests(void)
mock_state->selected_item = 2;
mock_state->disabled_item_mask = 0x1a; /* 0b11010 */
mock_ui_context.key = VB_KEY_DOWN;
- TEST_EQ(menu_down_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_menu_next(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"invalid action (blocked by mask)");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 2, MOCK_IGNORE);
@@ -480,7 +480,7 @@ static void menu_down_action_tests(void)
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = 2;
mock_ui_context.key = VB_BUTTON_VOL_DOWN_SHORT_PRESS;
- TEST_EQ(menu_down_action(&mock_ui_context),
+ TEST_EQ(vb2_ui_menu_next(&mock_ui_context),
VB2_REQUEST_UI_CONTINUE,
"ignore volume-down when not DETACHABLE");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 2, MOCK_IGNORE);
@@ -489,20 +489,20 @@ static void menu_down_action_tests(void)
VB2_DEBUG("...done.\n");
}
-static void menu_select_action_tests(void)
+static void menu_select_tests(void)
{
int i, target_id;
char test_name[256];
- VB2_DEBUG("Testing menu_select_action...\n");
+ VB2_DEBUG("Testing menu_select...\n");
/* select action with no item screen */
reset_common_data();
mock_state->screen = &mock_screen_base;
mock_ui_context.key = VB_KEY_ENTER;
- TEST_EQ(vb2_ui_menu_select_action(&mock_ui_context),
+ TEST_EQ(vb2_ui_menu_select(&mock_ui_context),
VB2_REQUEST_UI_CONTINUE,
- "menu_select_action with no item screen");
+ "vb2_ui_menu_select with no item screen");
screen_state_eq(mock_state, MOCK_SCREEN_BASE, 0, MOCK_IGNORE);
/* Try to select target 0..3 */
@@ -513,7 +513,7 @@ static void menu_select_action_tests(void)
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = i;
mock_ui_context.key = VB_KEY_ENTER;
- TEST_EQ(vb2_ui_menu_select_action(&mock_ui_context),
+ TEST_EQ(vb2_ui_menu_select(&mock_ui_context),
VB2_REQUEST_UI_CONTINUE, test_name);
screen_state_eq(mock_state, target_id, 0, MOCK_IGNORE);
}
@@ -523,7 +523,7 @@ static void menu_select_action_tests(void)
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = 4;
mock_ui_context.key = VB_KEY_ENTER;
- TEST_EQ(vb2_ui_menu_select_action(&mock_ui_context),
+ TEST_EQ(vb2_ui_menu_select(&mock_ui_context),
VB2_REQUEST_UI_CONTINUE,
"select no target");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 4, MOCK_IGNORE);
@@ -534,7 +534,7 @@ static void menu_select_action_tests(void)
mock_state->screen = &mock_screen_menu;
mock_state->selected_item = 1;
mock_ui_context.key = VB_BUTTON_POWER_SHORT_PRESS;
- TEST_EQ(vb2_ui_menu_select_action(&mock_ui_context),
+ TEST_EQ(vb2_ui_menu_select(&mock_ui_context),
VB2_REQUEST_UI_CONTINUE,
"ignore power button short press when not DETACHABLE");
screen_state_eq(mock_state, MOCK_SCREEN_MENU, 1, MOCK_IGNORE);
@@ -707,9 +707,9 @@ static void ui_loop_tests(void)
int main(void)
{
/* Input actions */
- menu_up_action_tests();
- menu_down_action_tests();
- menu_select_action_tests();
+ menu_prev_tests();
+ menu_next_tests();
+ menu_select_tests();
/* Global actions */
try_recovery_action_tests();
diff --git a/tests/vb2_ui_utility_tests.c b/tests/vb2_ui_utility_tests.c
index 0a7e4593..6fdaffc1 100644
--- a/tests/vb2_ui_utility_tests.c
+++ b/tests/vb2_ui_utility_tests.c
@@ -244,16 +244,15 @@ static void check_shutdown_request_tests(void)
VB2_DEBUG("...done.\n");
}
-static void vb2_ui_back_action_tests(void)
+static void vb2_ui_change_root_tests(void)
{
- VB2_DEBUG("Testing vb2_ui_back_action...\n");
+ VB2_DEBUG("Testing vb2_ui_change_root...\n");
- /* TODO: back to previous screen instead of root screen */
/* Back to root screen */
reset_common_data();
mock_ui_context.root_screen = &mock_screen_root;
mock_ui_context.key = VB_KEY_ESC;
- TEST_EQ(vb2_ui_back_action(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
+ TEST_EQ(vb2_ui_change_root(&mock_ui_context), VB2_REQUEST_UI_CONTINUE,
"back to root screen");
screen_state_eq(mock_state, MOCK_SCREEN_ROOT, MOCK_IGNORE, MOCK_IGNORE);
@@ -290,7 +289,7 @@ static void change_screen_tests(void)
int main(void)
{
check_shutdown_request_tests();
- vb2_ui_back_action_tests();
+ vb2_ui_change_root_tests();
change_screen_tests();
return gTestSuccess ? 0 : 255;