Move lk_ctx content to private part of library
[platform/upstream/kbd.git] / tests / libkeymap-kmap.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <check.h>
4 #include <keymap.h>
5
6
7 START_TEST(test_add_map_border)
8 {
9         struct lk_ctx *ctx;
10
11         ctx = lk_init();
12         lk_set_log_fn(ctx, NULL, NULL);
13
14         fail_unless(lk_add_map(ctx, MAX_NR_KEYMAPS) == 0,
15                 "Unable to define map == MAX_NR_KEYMAPS");
16
17         fail_unless(lk_add_map(ctx, MAX_NR_KEYMAPS*2) == 0,
18                 "Unable to define map == MAX_NR_KEYMAPS*2");
19
20         fail_unless(lk_add_map(ctx, 0) == 0,
21                 "Unable to define map");
22
23         fail_unless(lk_add_map(ctx, 0) == 0,
24                 "Unable to define map");
25
26         lk_free(ctx);
27 }
28 END_TEST
29
30 START_TEST(test_add_map_0)
31 {
32         struct lk_ctx *ctx;
33         struct kmapinfo info;
34
35         ctx = lk_init();
36         lk_set_log_fn(ctx, NULL, NULL);
37
38         fail_if(lk_add_map(ctx, 0) != 0, "Unable to define map");
39         lk_get_kmapinfo(ctx, &info);
40         fail_if(info.keymaps != 1, "Wrong keymap number");
41
42         fail_if(lk_add_map(ctx, 0) != 0, "Unable to define map");
43         lk_get_kmapinfo(ctx, &info);
44         fail_if(info.keymaps != 1, "Wrong keymap number");
45                 
46         fail_if(lk_add_map(ctx, 1) != 0, "Unable to define map");
47         lk_get_kmapinfo(ctx, &info);
48         fail_if(info.keymaps != 2, "Wrong keymap number");
49
50         fail_if(lk_add_map(ctx, 2) != 0, "Unable to define map");
51         lk_get_kmapinfo(ctx, &info);
52         fail_if(info.keymaps != 3, "Wrong keymap number");
53
54         lk_free(ctx);
55 }
56 END_TEST
57
58 static Suite *
59 libkeymap_suite(void)
60 {
61         Suite *s = suite_create("libkeymap");
62         TCase *tc_core = tcase_create(NULL);
63
64         tcase_add_test(tc_core, test_add_map_border);
65         tcase_add_test(tc_core, test_add_map_0);
66
67         suite_add_tcase(s, tc_core);
68         return s;
69 }
70
71 int main(void)
72 {
73         int number_failed;
74
75         Suite *s = libkeymap_suite();
76         SRunner *sr = srunner_create (s);
77
78         srunner_run_all(sr, CK_NORMAL);
79
80         number_failed = srunner_ntests_failed(sr);
81         srunner_free (sr);
82
83         return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
84 }