From 4143b804c8f4b4324141ad0f529bac4e9acf1442 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Wed, 23 Jun 2021 21:51:52 +0200 Subject: [PATCH] test(dropdown) add tess for keypad and encoder --- tests/defines.py | 10 +- tests/ref_imgs/dropdown_2.png | Bin 0 -> 18285 bytes tests/src/test_cases/test_dropdown.c | 232 ++++++++++++++++++++++++++- 3 files changed, 235 insertions(+), 7 deletions(-) create mode 100644 tests/ref_imgs/dropdown_2.png diff --git a/tests/defines.py b/tests/defines.py index 39ee3db6f..b4179d16a 100644 --- a/tests/defines.py +++ b/tests/defines.py @@ -167,11 +167,11 @@ test = { "LV_USE_FONT_SUBPX": 1, "LV_FONT_SUBPX_BGR":1, - "LV_USE_ASSERT_NULL":1, - "LV_USE_ASSERT_MALLOC":1, - "LV_USE_ASSERT_MEM_INTEGRITY":1, - "LV_USE_ASSERT_OBJ":1, - "LV_USE_ASSERT_STYLE":1, + "LV_USE_ASSERT_NULL":0, + "LV_USE_ASSERT_MALLOC":0, + "LV_USE_ASSERT_MEM_INTEGRITY":0, + "LV_USE_ASSERT_OBJ":0, + "LV_USE_ASSERT_STYLE":0, "LV_USE_USER_DATA": 1, "LV_USE_LARGE_COORD": 1, diff --git a/tests/ref_imgs/dropdown_2.png b/tests/ref_imgs/dropdown_2.png new file mode 100644 index 0000000000000000000000000000000000000000..460b19603b7ac6a0a7ee49fef686c8add71c7d05 GIT binary patch literal 18285 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 D;U^?5 literal 0 HcmV?d00001 diff --git a/tests/src/test_cases/test_dropdown.c b/tests/src/test_cases/test_dropdown.c index 7dbc3f628..4cca8e9f6 100644 --- a/tests/src/test_cases/test_dropdown.c +++ b/tests/src/test_cases/test_dropdown.c @@ -9,7 +9,10 @@ void test_dropdown_set_text_and_symbol(void); void test_dropdown_set_options(void); void test_dropdown_select(void); void test_dropdown_click(void); -void test_dropdown_render(void); +void test_dropdown_keypad(void); +void test_dropdown_encoder(void); +void test_dropdown_render_1(void); +void test_dropdown_render_2(void); void test_dropdown_create_delete(void) { @@ -153,8 +156,174 @@ void test_dropdown_click(void) TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); } +static uint32_t event_cnt; +static void dd_event(lv_event_t * e) +{ + LV_UNUSED(e); + event_cnt++; +} -void test_dropdown_render(void) +void test_dropdown_keypad(void) +{ + lv_obj_clean(lv_scr_act()); + + lv_group_t * g = lv_group_create(); + lv_indev_set_group(lv_test_keypad_indev, g); + + lv_obj_t * dd1 = lv_dropdown_create(lv_scr_act()); + lv_obj_set_pos(dd1, 20, 20); + lv_dropdown_set_options(dd1, "1\n2\n3\n4\n5\n6\n7\n8"); + lv_group_add_obj(g, dd1); + lv_obj_add_event_cb(dd1, dd_event, LV_EVENT_VALUE_CHANGED, NULL); + + lv_obj_t * dd2 = lv_dropdown_create(lv_scr_act()); + lv_obj_set_pos(dd2, 300, 20); + lv_group_add_obj(g, dd2); + + event_cnt = 0; + + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd2)); + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd2)); + + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_RIGHT); /*Same as down*/ + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(2, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(1, event_cnt); + + lv_test_key_hit(LV_KEY_DOWN); /*Open the list too*/ + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd1)); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(3, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(2, event_cnt); + + lv_test_key_hit(LV_KEY_RIGHT); /*Open the list too*/ + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd1)); + lv_test_key_hit(LV_KEY_RIGHT); + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(4, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(3, event_cnt); + + lv_test_key_hit(LV_KEY_LEFT); /*Open the list too*/ + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd1)); + lv_test_key_hit(LV_KEY_LEFT); + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(3, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(4, event_cnt); + + lv_test_key_hit(LV_KEY_UP); /*Open the list too*/ + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd1)); + lv_test_key_hit(LV_KEY_UP); + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(2, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(5, event_cnt); + + lv_test_key_hit(LV_KEY_UP); + lv_test_key_hit(LV_KEY_UP); + lv_test_key_hit(LV_KEY_UP); + lv_test_key_hit(LV_KEY_UP); + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(0, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(6, event_cnt); + + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_DOWN); + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(7, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(7, event_cnt); + + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd1)); + + lv_test_key_hit(LV_KEY_NEXT); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd2)); + + lv_test_key_hit(LV_KEY_ENTER); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd2)); + + lv_indev_set_group(lv_test_keypad_indev, NULL); + lv_group_del(g); +} + + +void test_dropdown_encoder(void) +{ + lv_obj_clean(lv_scr_act()); + + lv_group_t * g = lv_group_create(); + lv_indev_set_group(lv_test_encoder_indev, g); + + lv_obj_t * dd1 = lv_dropdown_create(lv_scr_act()); + lv_obj_set_pos(dd1, 20, 20); + lv_dropdown_set_options(dd1, "1\n2\n3\n4\n5\n6\n7\n8"); + lv_group_add_obj(g, dd1); + lv_obj_add_event_cb(dd1, dd_event, LV_EVENT_VALUE_CHANGED, NULL); + + lv_obj_t * dd2 = lv_dropdown_create(lv_scr_act()); + lv_obj_set_pos(dd2, 300, 20); + lv_group_add_obj(g, dd2); + + event_cnt = 0; + + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd2)); + lv_test_encoder_click(); + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd2)); + + lv_test_encoder_turn(5); + lv_test_encoder_click(); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(5, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(1, event_cnt); + + lv_test_encoder_click(); + lv_test_encoder_turn(-1); + lv_test_encoder_click(); + TEST_ASSERT_EQUAL(4, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(2, event_cnt); + + lv_test_encoder_click(); + lv_test_encoder_turn(2); + lv_test_encoder_press(); + lv_test_indev_wait(1000); //Long press + lv_test_encoder_release(); + lv_test_indev_wait(50); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_EQUAL(4, lv_dropdown_get_selected(dd1)); + TEST_ASSERT_EQUAL(2, event_cnt); + + lv_test_encoder_turn(1); + lv_test_encoder_click(); + TEST_ASSERT_NULL(lv_dropdown_get_list(dd1)); + TEST_ASSERT_NOT_NULL(lv_dropdown_get_list(dd2)); + + lv_indev_set_group(lv_test_encoder_indev, NULL); + lv_group_del(g); +} + + +void test_dropdown_render_1(void) { lv_obj_clean(lv_scr_act()); @@ -200,5 +369,64 @@ void test_dropdown_render(void) TEST_ASSERT_EQUAL_SCREENSHOT("dropdown_1.png"); } +void test_dropdown_render_2(void) +{ + lv_obj_clean(lv_scr_act()); + LV_IMG_DECLARE(img_caret_down); + lv_obj_t * dd1 = lv_dropdown_create(lv_scr_act()); + lv_dropdown_set_text(dd1, "Short"); + lv_dropdown_set_options(dd1, "1\n2"); + lv_dropdown_set_symbol(dd1, &img_caret_down); + lv_dropdown_open(dd1); + + lv_obj_t * dd2 = lv_dropdown_create(lv_scr_act()); + lv_dropdown_set_text(dd2, "Go Up"); + lv_dropdown_set_options(dd2, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15"); + lv_dropdown_set_symbol(dd2, NULL); + lv_obj_align(dd2, LV_ALIGN_LEFT_MID, 150, 50); + lv_dropdown_open(dd2); + + lv_obj_t * dd3 = lv_dropdown_create(lv_scr_act()); + lv_dropdown_set_text(dd3, "Limit Down"); + lv_dropdown_set_options(dd3, "1aaaaaaaaaaaaaaaa\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15"); + lv_obj_align(dd3, LV_ALIGN_LEFT_MID, 300, -10); + lv_dropdown_open(dd3); + + lv_obj_t * dd4 = lv_dropdown_create(lv_scr_act()); + lv_dropdown_set_text(dd4, "Limit Top"); + lv_dropdown_set_options(dd4, "1aaaaaaaaaaaaaaaa\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15"); + lv_obj_align(dd4, LV_ALIGN_LEFT_MID, 450, 10); + lv_dropdown_set_dir(dd4, LV_DIR_TOP); + lv_dropdown_set_symbol(dd4, LV_SYMBOL_UP); + lv_dropdown_open(dd4); + + lv_obj_t * dd5 = lv_dropdown_create(lv_scr_act()); + lv_dropdown_set_text(dd5, "Go Down"); + lv_dropdown_set_options(dd5, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15"); + lv_dropdown_set_dir(dd5, LV_DIR_TOP); + lv_dropdown_set_symbol(dd5, LV_SYMBOL_UP); + lv_obj_align(dd5, LV_ALIGN_LEFT_MID, 650, -200); + lv_dropdown_open(dd5); + + lv_obj_t * dd6 = lv_dropdown_create(lv_scr_act()); + lv_dropdown_set_text(dd6, "Right"); + lv_dropdown_set_options(dd6, "1aaa\n2aa\n3aa"); + lv_dropdown_set_dir(dd6, LV_DIR_RIGHT); + lv_dropdown_set_symbol(dd6, LV_SYMBOL_RIGHT); + lv_obj_align(dd6, LV_ALIGN_BOTTOM_LEFT, 20, -20); + lv_dropdown_open(dd6); + lv_obj_set_style_text_align(lv_dropdown_get_list(dd6), LV_TEXT_ALIGN_RIGHT, 0); + + lv_obj_t * dd7 = lv_dropdown_create(lv_scr_act()); + lv_dropdown_set_text(dd7, "Left"); + lv_dropdown_set_options(dd7, "1aaa\n2\n3"); + lv_dropdown_set_dir(dd7, LV_DIR_LEFT); + lv_dropdown_set_symbol(dd7, LV_SYMBOL_LEFT); + lv_dropdown_open(dd7); + + TEST_ASSERT_EQUAL_SCREENSHOT("dropdown_2.png"); +} + + #endif