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 }
11 
tearDown(void)12 void tearDown(void)
13 {
14     /* Function run after every test */
15     lv_obj_clean(lv_screen_active());
16 }
17 
test_no_residual_border_on_scale_down(void)18 void test_no_residual_border_on_scale_down(void)
19 {
20     lv_obj_t * obj = lv_obj_create(lv_screen_active());
21     lv_obj_set_size(obj, 100, 100);
22     lv_obj_center(obj);
23     lv_obj_set_style_border_color(obj, lv_color_hex3(0xf00), 0);
24     lv_obj_set_style_bg_color(obj, lv_color_hex3(0x0f0), 0);
25     TEST_ASSERT_EQUAL_SCREENSHOT("draw/layer_transform_1.png");
26 
27     int32_t pivot_x[] = {lv_pct(50), lv_pct(8),  lv_pct(0), lv_pct(106), lv_pct(-16)};
28     int32_t pivot_y[] = {lv_pct(50), lv_pct(12), lv_pct(0), lv_pct(113), lv_pct(-27)};
29     int32_t scale[] = {256 * 4,      412,        569,       288,         711};
30 
31     uint32_t i;
32     for(i = 0; i < 5; i++) {
33         lv_obj_set_style_transform_pivot_x(obj, pivot_x[i], 0);
34         lv_obj_set_style_transform_pivot_y(obj, pivot_y[i], 0);
35         lv_obj_set_style_transform_scale(obj, scale[i], 0);
36         lv_refr_now(NULL);
37 
38         /*Should be the same as the original without any artifacts*/
39         lv_obj_set_style_transform_scale(obj, 256, 0);
40         TEST_ASSERT_EQUAL_SCREENSHOT("draw/layer_transform_1.png");
41     }
42 
43 }
44 
test_update_layer_type_on_state_change(void)45 void test_update_layer_type_on_state_change(void)
46 {
47     static lv_style_t style;
48     lv_style_init(&style);
49     lv_style_set_transform_rotation(&style, 90);
50     lv_style_set_transform_scale_x(&style, 100);
51 
52     lv_obj_t * obj = lv_obj_create(lv_screen_active());
53     lv_obj_center(obj);
54     lv_obj_add_style(obj, &style, LV_STATE_CHECKED);
55     lv_refr_now(NULL);
56 
57     lv_obj_add_state(obj, LV_STATE_CHECKED);
58     TEST_ASSERT_EQUAL_SCREENSHOT("draw/layer_transform_2.png");
59 
60 }
61 
62 #endif
63