#include "test.h" #include "widget.h" extern int _mgos_timers; static int test_widget_create_from_file(void) { struct widget_t *w; int ret; char *fn = "data/TestWidget.json"; LOG(LL_INFO, ("widget_create_from_file(%s)", fn)); w = widget_create_from_file(fn); ASSERT(w, "widget_create_from_file()"); ASSERT(w->x == 16, "'x' field is invalid"); ASSERT(w->y == 16, "'x' field is invalid"); ASSERT(w->w == 48, "'x' field is invalid"); ASSERT(w->h == 48, "'x' field is invalid"); ret = strncmp("/some/file.ext", w->img, strlen("/some/file.ext")); ASSERT(ret == 0, "'img' field is invalid"); ret = strncmp("One", w->label, strlen("One")); ASSERT(ret == 0, "'label' field is invalid"); LOG(LL_INFO, ("widget_set_timer()")); widget_set_timer(w, 1000); ASSERT(_mgos_timers==1, "timer not found"); LOG(LL_INFO, ("widget_delete_timer()")); widget_delete_timer(w); ASSERT(_mgos_timers==0, "timers found"); fn = "data/TestWidget-invalid.json"; LOG(LL_INFO, ("widget_create_from_file(%s)", fn)); w = widget_create_from_file(fn); ASSERT(!w, "invalid widget created"); return 0; } int test_widget() { test_widget_create_from_file(); LOG(LL_INFO, ("ensure we have no timers")); ASSERT(_mgos_timers==0, "timers found"); return 0; }