48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
#include <string.h>
|
|
|
|
#include "test_common.h"
|
|
|
|
#include "../src/Drv/menu/view/menu_layout.h"
|
|
#include "../src/Drv/menu/model/menu_tree_builder.h"
|
|
|
|
static int noop_proc(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
tagMenuCtrl ctrl;
|
|
tagMenuItem items[4];
|
|
uint8_t menu_num[4] = {0};
|
|
tagPMenuItem first[4] = {0};
|
|
tagPMenuItem index[4] = {0};
|
|
uint8_t max_len;
|
|
|
|
const tagMenuModel model[4] = {
|
|
{0, "Root", "", 0, 0, 0, (FUNCPTR)noop_proc},
|
|
{1, "设置", "", 0, 0, 0, (FUNCPTR)noop_proc},
|
|
{2, "子项", "", 0, 0, 0, (FUNCPTR)noop_proc},
|
|
{1, "查看", "", 0, 0, 0, (FUNCPTR)noop_proc},
|
|
};
|
|
|
|
memset(&ctrl, 0, sizeof(ctrl));
|
|
memset(items, 0, sizeof(items));
|
|
|
|
MenuTree_0LevelNumCal(&ctrl, model, 4);
|
|
ASSERT_EQ_INT(1, ctrl.by0LevelNum);
|
|
MenuTree_MainCreate(items, model, 4);
|
|
|
|
ASSERT_EQ_INT(3, MenuLayout_Utf8LenCal((uint8_t *)"ABC"));
|
|
ASSERT_EQ_INT(2, MenuLayout_Utf8LenCal((uint8_t *)"你"));
|
|
|
|
first[0] = &items[0];
|
|
index[0] = &items[0];
|
|
max_len = MenuLayout_CharLenCal(0, menu_num, first, index);
|
|
ASSERT_TRUE(max_len > 0);
|
|
ASSERT_TRUE(menu_num[1] > 0);
|
|
ASSERT_STREQ("设置", (const char *)items[1].byName);
|
|
|
|
return 0;
|
|
}
|