From 162e451396cfe974786a58d3738af745a29f5979 Mon Sep 17 00:00:00 2001 From: some00 Date: Fri, 6 Jan 2023 21:02:13 +0100 Subject: [PATCH] ci(spinner): add unit test for spinner (#3901) --- tests/ref_imgs/spinner_00.png | Bin 0 -> 4969 bytes tests/ref_imgs/spinner_01.png | Bin 0 -> 5008 bytes tests/ref_imgs/spinner_02.png | Bin 0 -> 5038 bytes tests/ref_imgs/spinner_03.png | Bin 0 -> 5097 bytes tests/ref_imgs/spinner_04.png | Bin 0 -> 5075 bytes tests/ref_imgs/spinner_05.png | Bin 0 -> 5030 bytes tests/ref_imgs/spinner_06.png | Bin 0 -> 4987 bytes tests/ref_imgs/spinner_07.png | Bin 0 -> 4919 bytes tests/ref_imgs/spinner_08.png | Bin 0 -> 4900 bytes tests/ref_imgs/spinner_09.png | Bin 0 -> 4906 bytes tests/src/lv_test_init.c | 7 +++++- tests/src/test_cases/test_spinner.c | 34 ++++++++++++++++++++++++++++ 12 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 tests/ref_imgs/spinner_00.png create mode 100644 tests/ref_imgs/spinner_01.png create mode 100644 tests/ref_imgs/spinner_02.png create mode 100644 tests/ref_imgs/spinner_03.png create mode 100644 tests/ref_imgs/spinner_04.png create mode 100644 tests/ref_imgs/spinner_05.png create mode 100644 tests/ref_imgs/spinner_06.png create mode 100644 tests/ref_imgs/spinner_07.png create mode 100644 tests/ref_imgs/spinner_08.png create mode 100644 tests/ref_imgs/spinner_09.png create mode 100644 tests/src/test_cases/test_spinner.c diff --git a/tests/ref_imgs/spinner_00.png b/tests/ref_imgs/spinner_00.png new file mode 100644 index 0000000000000000000000000000000000000000..e7448c18b07ab9b285142b3e857c802d24d956de GIT binary patch literal 4969 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 literal 0 HcmV?d00001 diff --git a/tests/ref_imgs/spinner_01.png b/tests/ref_imgs/spinner_01.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc77b7eb07f43c7c5bb2f6b7c278cf590f78b0c GIT binary patch literal 5008 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 literal 0 HcmV?d00001 diff --git a/tests/ref_imgs/spinner_05.png b/tests/ref_imgs/spinner_05.png new file mode 100644 index 0000000000000000000000000000000000000000..97e11d21c6fb0ec59eace563330fb3ab1efc3d59 GIT binary patch literal 5030 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 U6~zA=c*O!;^n#zKpTph$4+|9pMgRZ+ literal 0 HcmV?d00001 diff --git a/tests/ref_imgs/spinner_07.png b/tests/ref_imgs/spinner_07.png new file mode 100644 index 0000000000000000000000000000000000000000..5ceb34573b7a8c1b8e7e8abe1a631b5a474fa700 GIT binary patch literal 4919 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 literal 0 HcmV?d00001 diff --git a/tests/ref_imgs/spinner_08.png b/tests/ref_imgs/spinner_08.png new file mode 100644 index 0000000000000000000000000000000000000000..7b0f7d515689ac96052e76a1a0e4e45b91f9746e GIT binary patch literal 4900 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 y <= area->y2; y++) { + for(int x = area->x1; x <= area->x2; x++) { + test_fb[y * HOR_RES + x] = *color_p; + color_p++; + } + } lv_disp_flush_ready(disp_drv); } diff --git a/tests/src/test_cases/test_spinner.c b/tests/src/test_cases/test_spinner.c new file mode 100644 index 000000000..af81e5aa2 --- /dev/null +++ b/tests/src/test_cases/test_spinner.c @@ -0,0 +1,34 @@ +#if LV_BUILD_TEST +#include "../lvgl.h" + +#include "unity/unity.h" + +static lv_obj_t * active_screen = NULL; +static lv_obj_t * spinner = NULL; + +void setUp(void) +{ + active_screen = lv_scr_act(); + spinner = lv_spinner_create(lv_scr_act(), 1000, 60); + lv_obj_set_size(spinner, 100, 100); + lv_obj_center(spinner); +} + +void tearDown(void) +{ + lv_obj_clean(active_screen); +} + +void test_spinner_spinning(void) +{ + for(int i = 0; i < 10; ++i) { + lv_tick_inc(50); + lv_task_handler(); + + char filename[15]; + snprintf(filename, 15, "spinner_%02d.png", i); + TEST_ASSERT_EQUAL_SCREENSHOT(filename); + } +} + +#endif