Files
mongoose-touch/unittest/test_widget.c
2017-11-26 18:38:59 +01:00

46 lines
1.3 KiB
C

#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;
}