1 #if LV_BUILD_TEST
2 #include "../lvgl.h"
3 #include "../../lvgl_private.h"
4
5 #include "unity/unity.h"
6
7 static lv_obj_t * active_screen = NULL;
8
setUp(void)9 void setUp(void)
10 {
11 active_screen = lv_screen_active();
12 }
13
tearDown(void)14 void tearDown(void)
15 {
16 lv_obj_clean(active_screen);
17 }
18
test_keyboard_mode(void)19 void test_keyboard_mode(void)
20 {
21 lv_obj_t * keyboard = lv_keyboard_create(active_screen);
22 lv_obj_set_size(keyboard, LV_PCT(100), LV_PCT(50));
23 lv_obj_align(keyboard, LV_ALIGN_BOTTOM_MID, 0, 0);
24 lv_obj_set_style_text_font(keyboard, &lv_font_dejavu_16_persian_hebrew, LV_PART_MAIN);
25 lv_keyboard_set_mode(keyboard, LV_KEYBOARD_MODE_TEXT_LOWER);
26
27 TEST_ASSERT_EQUAL_SCREENSHOT("widgets/keyboard_1.png");
28
29 lv_keyboard_set_mode(keyboard, LV_KEYBOARD_MODE_TEXT_UPPER);
30
31 TEST_ASSERT_EQUAL_SCREENSHOT("widgets/keyboard_2.png");
32
33 lv_keyboard_set_mode(keyboard, LV_KEYBOARD_MODE_SPECIAL);
34
35 TEST_ASSERT_EQUAL_SCREENSHOT("widgets/keyboard_3.png");
36
37 lv_keyboard_set_mode(keyboard, LV_KEYBOARD_MODE_NUMBER);
38
39 TEST_ASSERT_EQUAL_SCREENSHOT("widgets/keyboard_4.png");
40 }
41
test_keyboard_properties(void)42 void test_keyboard_properties(void)
43 {
44 #if LV_USE_OBJ_PROPERTY
45 lv_obj_t * obj = lv_keyboard_create(lv_screen_active());
46 lv_property_t prop = { };
47
48 lv_obj_t * test_area = lv_textarea_create(lv_screen_active());
49
50 prop.id = LV_PROPERTY_KEYBOARD_TEXTAREA;
51 prop.ptr = test_area;
52 TEST_ASSERT_TRUE(lv_obj_set_property(obj, &prop) == LV_RESULT_OK);
53 TEST_ASSERT_EQUAL_PTR(test_area, lv_keyboard_get_textarea(obj));
54 TEST_ASSERT_EQUAL_PTR(test_area, lv_obj_get_property(obj, LV_PROPERTY_KEYBOARD_TEXTAREA).ptr);
55
56 prop.id = LV_PROPERTY_KEYBOARD_MODE;
57 prop.num = LV_KEYBOARD_MODE_TEXT_UPPER;
58 TEST_ASSERT_TRUE(lv_obj_set_property(obj, &prop) == LV_RESULT_OK);
59 TEST_ASSERT_EQUAL_INT(LV_KEYBOARD_MODE_TEXT_UPPER, lv_keyboard_get_mode(obj));
60 TEST_ASSERT_EQUAL_INT(LV_KEYBOARD_MODE_TEXT_UPPER, lv_obj_get_property(obj, LV_PROPERTY_KEYBOARD_MODE).num);
61
62 prop.id = LV_PROPERTY_KEYBOARD_POPOVERS;
63 prop.num = 1;
64 TEST_ASSERT_TRUE(lv_obj_set_property(obj, &prop) == LV_RESULT_OK);
65 TEST_ASSERT_EQUAL_INT(1, lv_keyboard_get_popovers(obj));
66 TEST_ASSERT_EQUAL_INT(1, lv_obj_get_property(obj, LV_PROPERTY_KEYBOARD_POPOVERS).num);
67
68 prop.id = LV_PROPERTY_KEYBOARD_SELECTED_BUTTON;
69 prop.num = 1;
70 TEST_ASSERT_TRUE(lv_obj_set_property(obj, &prop) == LV_RESULT_OK);
71 TEST_ASSERT_EQUAL_INT(1, lv_keyboard_get_selected_button(obj));
72 TEST_ASSERT_EQUAL_INT(1, lv_obj_get_property(obj, LV_PROPERTY_KEYBOARD_SELECTED_BUTTON).num);
73 #endif
74 }
75
76 #endif
77