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