test(event) add test for #2886
This commit is contained in:
27
tests/src/test_cases/test_event.c
Normal file
27
tests/src/test_cases/test_event.c
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#if LV_BUILD_TEST
|
||||||
|
#include "../lvgl.h"
|
||||||
|
|
||||||
|
#include "unity/unity.h"
|
||||||
|
|
||||||
|
static void event_object_deletion_cb(const lv_obj_class_t *cls, lv_event_t *e)
|
||||||
|
{
|
||||||
|
LV_UNUSED(cls);
|
||||||
|
if(lv_event_get_code(e) == LV_EVENT_VALUE_CHANGED) {
|
||||||
|
lv_obj_del(lv_event_get_current_target(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static const lv_obj_class_t event_object_deletion_class = {
|
||||||
|
.event_cb = event_object_deletion_cb,
|
||||||
|
.base_class = &lv_obj_class
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* Checks for memory leaks/invalid memory accesses on deleted objects */
|
||||||
|
void test_event_object_deletion(void)
|
||||||
|
{
|
||||||
|
lv_obj_t * obj = lv_obj_class_create_obj(&event_object_deletion_class, lv_scr_act());
|
||||||
|
lv_event_send(obj, LV_EVENT_VALUE_CHANGED, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user