#include "dat.h" #include "fn.h" #include "test.h" #include /* A sequence swallows its keys and hands its text back at the end. */ void compose_sequences(struct ct *t) { static const struct { u32int sym; int composing; char *text; } keys[] = { { XKB_KEY_a, 0, "" }, { XKB_KEY_dead_acute, 1, "" }, { XKB_KEY_e, 0, "é" }, { XKB_KEY_Multi_key, 1, "" }, { XKB_KEY_o, 1, "" }, { XKB_KEY_c, 0, "©" }, { XKB_KEY_dead_acute, 1, "" }, { XKB_KEY_Escape, 1, "" }, { XKB_KEY_a, 0, "" }, }; char buf[Maxutf]; int i; if(!CT_CHECK(t, setenv("XCOMPOSEFILE", "data/compose", 1) == 0)) return; composeinit(); for(i = 0; i < nelem(keys); i++){ CT_EQ_INT(t, keys[i].composing, composekey(keys[i].sym, buf, sizeof buf)); CT_EQ_STR(t, keys[i].text, buf); } unsetenv("XCOMPOSEFILE"); }