1 #if LV_BUILD_TEST
2 #include "../lvgl.h"
3 #include "../../lvgl_private.h"
4
5 #include "unity/unity.h"
6
7 static lv_obj_t * active_screen = NULL;
8
setUp(void)9 void setUp(void)
10 {
11 active_screen = lv_screen_active();
12 }
13
tearDown(void)14 void tearDown(void)
15 {
16 lv_obj_clean(active_screen);
17 }
18
test_led_render_1(void)19 void test_led_render_1(void)
20 {
21 lv_obj_t * led = lv_led_create(active_screen);
22 lv_obj_align(led, LV_ALIGN_CENTER, -80, 0);
23 lv_led_off(led);
24
25 led = lv_led_create(active_screen);
26 lv_obj_align(led, LV_ALIGN_CENTER, 0, 0);
27 lv_led_set_brightness(led, 150);
28 lv_led_set_color(led, lv_palette_main(LV_PALETTE_RED));
29
30 led = lv_led_create(active_screen);
31 lv_obj_align(led, LV_ALIGN_CENTER, 80, 0);
32 lv_led_on(led);
33
34 TEST_ASSERT_EQUAL_SCREENSHOT("widgets/led_1.png");
35 }
36
test_led_set_color_works(void)37 void test_led_set_color_works(void)
38 {
39 lv_obj_t * led = lv_led_create(active_screen);
40 lv_led_t * ledObj = (lv_led_t *)led;
41
42 /* Test by changing colors randomly. */
43 lv_led_set_color(led, lv_palette_main(LV_PALETTE_AMBER));
44 TEST_ASSERT_EQUAL_COLOR(lv_palette_main(LV_PALETTE_AMBER), ledObj->color);
45
46 lv_led_set_color(led, lv_palette_main(LV_PALETTE_GREY));
47 TEST_ASSERT_EQUAL_COLOR(lv_palette_main(LV_PALETTE_GREY), ledObj->color);
48
49 lv_led_set_color(led, lv_palette_main(LV_PALETTE_RED));
50 TEST_ASSERT_EQUAL_COLOR(lv_palette_main(LV_PALETTE_RED), ledObj->color);
51 }
52
test_led_set_brightness_works(void)53 void test_led_set_brightness_works(void)
54 {
55 lv_obj_t * led = lv_led_create(active_screen);
56
57 /* Test by changing brightness randomly. */
58 lv_led_set_brightness(led, 150);
59 TEST_ASSERT_EQUAL(150, lv_led_get_brightness(led));
60
61 lv_led_set_brightness(led, 10);
62 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led));
63
64 lv_led_set_brightness(led, 255);
65 TEST_ASSERT_EQUAL(255, lv_led_get_brightness(led));
66 }
67
test_led_on_off_works(void)68 void test_led_on_off_works(void)
69 {
70 lv_obj_t * led = lv_led_create(active_screen);
71
72 lv_led_on(led);
73 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MAX, lv_led_get_brightness(led));
74
75 lv_led_off(led);
76 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led));
77
78 lv_led_on(led);
79 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MAX, lv_led_get_brightness(led));
80 }
81
test_led_toggle_works(void)82 void test_led_toggle_works(void)
83 {
84 lv_obj_t * led = lv_led_create(active_screen);
85
86 lv_led_on(led);
87 lv_led_toggle(led);
88 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led));
89 lv_led_toggle(led);
90 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MAX, lv_led_get_brightness(led));
91 lv_led_toggle(led);
92 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led));
93 }
94
test_led_get_brightness_works(void)95 void test_led_get_brightness_works(void)
96 {
97 lv_obj_t * led = lv_led_create(active_screen);
98
99 lv_led_on(led);
100 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MAX, lv_led_get_brightness(led));
101 lv_led_off(led);
102 TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led));
103 lv_led_set_brightness(led, 150);
104 TEST_ASSERT_EQUAL(150, lv_led_get_brightness(led));
105 }
106
107 #endif
108