1 #if LV_BUILD_TEST
2 #include "../lvgl.h"
3 #include "../../lvgl_private.h"
4
5 #include "unity/unity.h"
6
setUp(void)7 void setUp(void)
8 {
9 /* Function run before every test */
10 lv_obj_clean(lv_screen_active());
11 }
12
tearDown(void)13 void tearDown(void)
14 {
15 /* Function run after every test */
16 }
17
button_create(lv_obj_t * parent,const char * text,int32_t x,int32_t y)18 static void button_create(lv_obj_t * parent, const char * text, int32_t x, int32_t y)
19 {
20 lv_obj_t * btn = lv_button_create(parent);
21 lv_obj_set_grid_cell(btn, LV_GRID_ALIGN_STRETCH, x, 1, LV_GRID_ALIGN_STRETCH, y, 1);
22
23 lv_obj_t * label = lv_label_create(btn);
24 lv_label_set_text(label, text);
25 lv_obj_center(label);
26
27 }
28
test_subgrid_row(void)29 void test_subgrid_row(void)
30 {
31
32 const int32_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
33 const int32_t row_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
34
35 lv_obj_t * cont_main = lv_obj_create(lv_screen_active());
36 lv_obj_set_size(cont_main, 700, 300);
37 lv_obj_center(cont_main);
38 lv_obj_set_grid_dsc_array(cont_main, col_dsc, row_dsc);
39
40 const int32_t col_dsc2[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
41 lv_obj_t * cont_sub = lv_obj_create(cont_main);
42 lv_obj_set_grid_cell(cont_sub, LV_GRID_ALIGN_STRETCH, 1, 2, LV_GRID_ALIGN_STRETCH, 1, 2);
43 lv_obj_set_grid_dsc_array(cont_sub, col_dsc2, NULL);
44 lv_obj_set_style_pad_all(cont_sub, 0, 0);
45
46 button_create(cont_main, "Main 0,0", 0, 0);
47 button_create(cont_main, "Main 3,3", 3, 3);
48 button_create(cont_main, "Main 2,2", 2, 2);
49 button_create(cont_sub, "Sub 0,0", 0, 0);
50 button_create(cont_sub, "Sub 1,0", 1, 0);
51 button_create(cont_sub, "Sub 2,0", 2, 0);
52 button_create(cont_sub, "Sub 3,0", 3, 0);
53 button_create(cont_sub, "Sub 1,1", 1, 1);
54 button_create(cont_sub, "Sub 0,1", 0, 1);
55
56 TEST_ASSERT_EQUAL_SCREENSHOT("subgrid_row.png");
57 }
58
test_subgrid_col(void)59 void test_subgrid_col(void)
60 {
61
62 const int32_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
63 const int32_t row_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
64
65 lv_obj_t * cont_main = lv_obj_create(lv_screen_active());
66 lv_obj_set_size(cont_main, 700, 300);
67 lv_obj_center(cont_main);
68 lv_obj_set_grid_dsc_array(cont_main, col_dsc, row_dsc);
69
70 const int32_t row_dsc2[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
71 lv_obj_t * cont_sub = lv_obj_create(cont_main);
72 lv_obj_set_grid_cell(cont_sub, LV_GRID_ALIGN_STRETCH, 1, 2, LV_GRID_ALIGN_STRETCH, 1, 2);
73 lv_obj_set_grid_dsc_array(cont_sub, NULL, row_dsc2);
74 lv_obj_set_style_pad_all(cont_sub, 0, 0);
75
76 button_create(cont_main, "Main 0,0", 0, 0);
77 button_create(cont_main, "Main 3,3", 3, 3);
78 button_create(cont_main, "Main 2,2", 2, 2);
79 button_create(cont_sub, "Sub 0,0", 0, 0);
80 button_create(cont_sub, "Sub 0,1", 0, 1);
81 button_create(cont_sub, "Sub 0,2", 0, 2);
82 button_create(cont_sub, "Sub 0,3", 0, 3);
83 button_create(cont_sub, "Sub 1,0", 1, 0);
84 button_create(cont_sub, "Sub 1,1", 1, 1);
85
86 TEST_ASSERT_EQUAL_SCREENSHOT("subgrid_col.png");
87 }
88
89 #endif
90