1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#include <glib.h>
#include "wm-button-layout-translation.h"
static void
test_button_layout_translations (void)
{
static struct {
char *layout;
char *expected;
} tests[] = {
{ "", "" },
{ "invalid", "" },
{ ":", ":" },
{ ":invalid", ":" },
{ "invalid:", ":" },
{ "invalid:invalid", ":" },
{ "appmenu", "menu" },
{ "appmenu:", "menu:" },
{ ":menu", ":icon" },
{ "appmenu:close", "menu:close" },
{ "appmenu:minimize,maximize,close", "menu:minimize,maximize,close" },
{ "menu,appmenu:minimize,maximize,close", "icon,menu:minimize,maximize,close" },
{ "close,close,close:close,close,close", "close,close,close:close,close,close" },
{ "invalid,appmenu:invalid,minimize", "menu:minimize" },
{ "appmenu,invalid:minimize,invalid", "menu:minimize" },
{ "invalidmenu:invalidclose", ":" },
{ "invalid,invalid,invalid:invalid,minimize,maximize,close", ":minimize,maximize,close" },
};
int i;
for (i = 0; i < G_N_ELEMENTS (tests); i++)
{
char *layout = g_strdup (tests[i].layout);
translate_wm_button_layout_to_gtk (layout);
g_assert_cmpstr (layout, ==, tests[i].expected);
g_free (layout);
}
}
int
main (int argc, char *argv[])
{
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/layout-translations", test_button_layout_translations);
return g_test_run ();
}
|