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