acid-drop- Hacking the planet from a LilyGo T-Deck using custom firmware |
git clone git://git.acid.vegas/acid-drop.git |
Log | Files | Refs | Archive | README | LICENSE |
test_checkbox.c (2557B)
1 #if LV_BUILD_TEST 2 #include "../lvgl.h" 3 4 #include "unity/unity.h" 5 6 #include "lv_test_helpers.h" 7 #include "lv_test_indev.h" 8 9 void test_checkbox_creation_successfull(void); 10 void test_checkbox_should_call_event_handler_on_click_when_enabled(void); 11 void test_checkbox_should_have_default_text_when_created(void); 12 void test_checkbox_should_return_dinamically_allocated_text(void); 13 void test_checkbox_should_allocate_memory_for_static_text(void); 14 15 static lv_obj_t * active_screen = NULL; 16 static lv_obj_t * checkbox = NULL; 17 18 static volatile bool event_called = false; 19 20 static void event_handler(lv_event_t * e) 21 { 22 lv_event_code_t code = lv_event_get_code(e); 23 24 if(LV_EVENT_VALUE_CHANGED == code) { 25 event_called = true; 26 } 27 } 28 29 void test_checkbox_creation_successfull(void) 30 { 31 active_screen = lv_scr_act(); 32 checkbox = lv_checkbox_create(active_screen); 33 34 TEST_ASSERT_NOT_NULL(checkbox); 35 } 36 37 void test_checkbox_should_call_event_handler_on_click_when_enabled(void) 38 { 39 active_screen = lv_scr_act(); 40 checkbox = lv_checkbox_create(active_screen); 41 42 lv_obj_add_state(checkbox, LV_STATE_CHECKED); 43 lv_obj_add_event_cb(checkbox, event_handler, LV_EVENT_ALL, NULL); 44 45 lv_test_mouse_click_at(checkbox->coords.x1, checkbox->coords.y1); 46 47 TEST_ASSERT_TRUE(event_called); 48 49 event_called = false; 50 } 51 52 void test_checkbox_should_have_default_text_when_created(void) 53 { 54 const char * default_text = "Check box"; 55 56 active_screen = lv_scr_act(); 57 checkbox = lv_checkbox_create(active_screen); 58 59 TEST_ASSERT_EQUAL_STRING(default_text, lv_checkbox_get_text(checkbox)); 60 TEST_ASSERT_NOT_NULL(lv_checkbox_get_text(checkbox)); 61 } 62 63 void test_checkbox_should_return_dinamically_allocated_text(void) 64 { 65 const char * message = "Hello World!"; 66 67 active_screen = lv_scr_act(); 68 checkbox = lv_checkbox_create(active_screen); 69 70 lv_checkbox_set_text(checkbox, message); 71 72 TEST_ASSERT_EQUAL_STRING(message, lv_checkbox_get_text(checkbox)); 73 TEST_ASSERT_NOT_NULL(lv_checkbox_get_text(checkbox)); 74 } 75 76 void test_checkbox_should_allocate_memory_for_static_text(void) 77 { 78 uint32_t initial_available_memory = 0; 79 const char * static_text = "Keep me while you exist"; 80 81 lv_mem_monitor_t m1; 82 lv_mem_monitor(&m1); 83 84 active_screen = lv_scr_act(); 85 checkbox = lv_checkbox_create(active_screen); 86 87 initial_available_memory = m1.free_size; 88 89 lv_checkbox_set_text_static(checkbox, static_text); 90 91 lv_mem_monitor(&m1); 92 93 LV_HEAP_CHECK(TEST_ASSERT_LESS_THAN(initial_available_memory, m1.free_size)); 94 } 95 96 #endif