diff --git a/tests/ref_imgs/spinner_00.png b/tests/ref_imgs/spinner_00.png new file mode 100644 index 000000000..e7448c18b Binary files /dev/null and b/tests/ref_imgs/spinner_00.png differ diff --git a/tests/ref_imgs/spinner_01.png b/tests/ref_imgs/spinner_01.png new file mode 100644 index 000000000..ccc77b7eb Binary files /dev/null and b/tests/ref_imgs/spinner_01.png differ diff --git a/tests/ref_imgs/spinner_02.png b/tests/ref_imgs/spinner_02.png new file mode 100644 index 000000000..3e30f53fc Binary files /dev/null and b/tests/ref_imgs/spinner_02.png differ diff --git a/tests/ref_imgs/spinner_03.png b/tests/ref_imgs/spinner_03.png new file mode 100644 index 000000000..3fec69fca Binary files /dev/null and b/tests/ref_imgs/spinner_03.png differ diff --git a/tests/ref_imgs/spinner_04.png b/tests/ref_imgs/spinner_04.png new file mode 100644 index 000000000..bb1f88b6c Binary files /dev/null and b/tests/ref_imgs/spinner_04.png differ diff --git a/tests/ref_imgs/spinner_05.png b/tests/ref_imgs/spinner_05.png new file mode 100644 index 000000000..97e11d21c Binary files /dev/null and b/tests/ref_imgs/spinner_05.png differ diff --git a/tests/ref_imgs/spinner_06.png b/tests/ref_imgs/spinner_06.png new file mode 100644 index 000000000..099e33de1 Binary files /dev/null and b/tests/ref_imgs/spinner_06.png differ diff --git a/tests/ref_imgs/spinner_07.png b/tests/ref_imgs/spinner_07.png new file mode 100644 index 000000000..5ceb34573 Binary files /dev/null and b/tests/ref_imgs/spinner_07.png differ diff --git a/tests/ref_imgs/spinner_08.png b/tests/ref_imgs/spinner_08.png new file mode 100644 index 000000000..7b0f7d515 Binary files /dev/null and b/tests/ref_imgs/spinner_08.png differ diff --git a/tests/ref_imgs/spinner_09.png b/tests/ref_imgs/spinner_09.png new file mode 100644 index 000000000..390bfbb1d Binary files /dev/null and b/tests/ref_imgs/spinner_09.png differ diff --git a/tests/src/lv_test_init.c b/tests/src/lv_test_init.c index f876f773f..91dab2f33 100644 --- a/tests/src/lv_test_init.c +++ b/tests/src/lv_test_init.c @@ -72,7 +72,12 @@ static void dummy_flush_cb(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_ LV_UNUSED(area); LV_UNUSED(color_p); - memcpy(test_fb, color_p, lv_area_get_size(area) * sizeof(lv_color_t)); + for(int y = area->y1; 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