1 #if LV_BUILD_TEST 2 #include "../lvgl.h" 3 #include "../../lvgl_private.h" 4 5 #include "unity/unity.h" 6 #include "lv_test_helpers.h" 7 setUp(void)8void setUp(void) 9 { 10 /* Function run before every test */ 11 } 12 tearDown(void)13void tearDown(void) 14 { 15 lv_obj_clean(lv_screen_active()); 16 } 17 create_image(void)18static void create_image(void) 19 { 20 lv_obj_t * img = lv_image_create(lv_screen_active()); 21 lv_image_set_src(img, "A:src/test_assets/test_img_lvgl_logo.bmp"); 22 lv_obj_center(img); 23 } 24 test_bmp(void)25void test_bmp(void) 26 { 27 create_image(); 28 TEST_ASSERT_EQUAL_SCREENSHOT("libs/bmp_1.png"); 29 lv_obj_clean(lv_screen_active()); 30 31 size_t mem_before = lv_test_get_free_mem(); 32 for(uint32_t i = 0; i < 20; i++) { 33 lv_obj_clean(lv_screen_active()); 34 create_image(); 35 36 lv_obj_invalidate(lv_screen_active()); 37 lv_refr_now(NULL); 38 } 39 TEST_ASSERT_EQUAL_SCREENSHOT("libs/bmp_1.png"); 40 lv_obj_clean(lv_screen_active()); 41 TEST_ASSERT_MEM_LEAK_LESS_THAN(mem_before, 0); 42 } 43 create_image_tile(void)44static void create_image_tile(void) 45 { 46 lv_obj_t * img = lv_image_create(lv_screen_active()); 47 lv_image_set_src(img, "A:src/test_assets/test_img_lvgl_logo.bmp"); 48 lv_obj_center(img); 49 lv_obj_set_size(img, 300, 200); 50 lv_image_set_inner_align(img, LV_IMAGE_ALIGN_TILE); 51 } 52 test_bmp_align_tile(void)53void test_bmp_align_tile(void) 54 { 55 create_image_tile(); 56 TEST_ASSERT_EQUAL_SCREENSHOT("libs/bmp_2.png"); 57 lv_obj_clean(lv_screen_active()); 58 59 size_t mem_before = lv_test_get_free_mem(); 60 for(uint32_t i = 0; i < 20; i++) { 61 lv_obj_clean(lv_screen_active()); 62 create_image_tile(); 63 64 lv_obj_invalidate(lv_screen_active()); 65 lv_refr_now(NULL); 66 } 67 TEST_ASSERT_EQUAL_SCREENSHOT("libs/bmp_2.png"); 68 lv_obj_clean(lv_screen_active()); 69 TEST_ASSERT_MEM_LEAK_LESS_THAN(mem_before, 0); 70 } 71 72 #endif 73