1 #if LV_BUILD_TEST
2 #include "../lvgl.h"
3 #include "../../lvgl_private.h"
4 
5 #include "unity/unity.h"
6 
7 #if LV_USE_BARCODE
8 
9 static lv_obj_t * active_screen = NULL;
10 
setUp(void)11 void setUp(void)
12 {
13     active_screen = lv_screen_active();
14 }
15 
tearDown(void)16 void tearDown(void)
17 {
18     lv_obj_clean(active_screen);
19 }
20 
test_barcode_normal(void)21 void test_barcode_normal(void)
22 {
23     lv_obj_t * barcode = lv_barcode_create(active_screen);
24     TEST_ASSERT_NOT_NULL(barcode);
25 
26     lv_obj_center(barcode);
27 
28     lv_color_t dark_color = lv_color_black();
29     lv_color_t light_color = lv_color_white();
30     uint16_t scale = 2;
31     lv_result_t res;
32 
33     lv_barcode_set_dark_color(barcode, dark_color);
34     lv_barcode_set_light_color(barcode, light_color);
35     lv_barcode_set_scale(barcode, scale);
36 
37     TEST_ASSERT_EQUAL_COLOR(lv_barcode_get_dark_color(barcode), dark_color);
38     TEST_ASSERT_EQUAL_COLOR(lv_barcode_get_light_color(barcode), light_color);
39     TEST_ASSERT_EQUAL(lv_barcode_get_scale(barcode), scale);
40 
41     /* Test horizontal mode */
42     lv_barcode_set_direction(barcode, LV_DIR_HOR);
43     lv_obj_set_height(barcode, 50);
44     res = lv_barcode_update(barcode, "https://lvgl.io");
45     TEST_ASSERT_EQUAL(res, LV_RESULT_OK);
46     TEST_ASSERT_EQUAL_SCREENSHOT("libs/barcode_1.png");
47 
48     /* Test vertical mode */
49     lv_barcode_set_direction(barcode, LV_DIR_VER);
50     lv_obj_set_size(barcode, 50, LV_SIZE_CONTENT);
51     res = lv_barcode_update(barcode, "https://lvgl.io");
52     TEST_ASSERT_EQUAL(res, LV_RESULT_OK);
53     TEST_ASSERT_EQUAL_SCREENSHOT("libs/barcode_2.png");
54 
55     /* Test tiled + horizontal mode */
56     lv_barcode_set_tiled(barcode, true);
57     lv_barcode_set_direction(barcode, LV_DIR_HOR);
58     lv_obj_set_size(barcode, LV_SIZE_CONTENT, 50);
59 
60     res = lv_barcode_update(barcode, "https://lvgl.io");
61     TEST_ASSERT_EQUAL(res, LV_RESULT_OK);
62     TEST_ASSERT_EQUAL_SCREENSHOT("libs/barcode_tiled_1.png");
63 
64     /* Test tiled + vertical mode */
65     lv_barcode_set_direction(barcode, LV_DIR_VER);
66     lv_obj_set_size(barcode, 50, LV_SIZE_CONTENT);
67     res = lv_barcode_update(barcode, "https://lvgl.io");
68     TEST_ASSERT_EQUAL(res, LV_RESULT_OK);
69     TEST_ASSERT_EQUAL_SCREENSHOT("libs/barcode_tiled_2.png");
70 }
71 
72 #else
73 
setUp(void)74 void setUp(void)
75 {
76 }
77 
tearDown(void)78 void tearDown(void)
79 {
80 }
81 
test_barcode_normal(void)82 void test_barcode_normal(void)
83 {
84 }
85 
86 #endif
87 
88 #endif
89