From 482f799d356a8fbb8f585c4de7cc0992b8dc6fd3 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 15:41:39 +0300 Subject: Migrate tests to the unified event API Port backend, input, tablet and app tests from yasl_input_event and YASL_INPUT_* to struct yasl_event and YASL_EVENT_*. The input allocation test links input.c on its own, so it stubs yasl_loop_now_ns() for the new event timestamps. Co-Authored-By: Claude Opus 5.5 --- tests/wayland/test_keyboard.c | 60 +++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 30 deletions(-) (limited to 'tests/wayland/test_keyboard.c') diff --git a/tests/wayland/test_keyboard.c b/tests/wayland/test_keyboard.c index 6921322..bce0a0c 100644 --- a/tests/wayland/test_keyboard.c +++ b/tests/wayland/test_keyboard.c @@ -1,18 +1,18 @@ #include "../../src/platform/wayland/keyboard.c" #include -static struct yasl_input_event next(struct wayland_surface *w, enum yasl_input_kind kind) +static struct yasl_event next(struct wayland_surface *w, enum yasl_event_type type) { - struct yasl_input_event ev; - assert(yasl_surface_input_poll(&w->base, &ev)); - assert(ev.kind == kind && ev.surface == &w->base); + struct yasl_event ev; + assert(yasl_surface_poll_event(&w->base, &ev)); + assert(ev.type == type && ev.surface == &w->base); return ev; } static void empty(struct wayland_surface *w) { - struct yasl_input_event ev; - assert(!yasl_surface_input_poll(&w->base, &ev)); + struct yasl_event ev; + assert(!yasl_surface_poll_event(&w->base, &ev)); } static void layout(struct seat *s, const char *name, const char *variant) @@ -59,65 +59,65 @@ int main(void) xkb_compose_table_unref(table); layout(&s, "us", NULL); key(&s, KEY_A, true); - struct yasl_input_event ev = next(&w, YASL_INPUT_KEY); + struct yasl_event ev = next(&w, YASL_EVENT_KEY); assert(ev.key.key == YASL_KEY_A && ev.key.native_code == KEY_A); assert(ev.key.codepoint == 'a' && ev.key.shifted == 'A' && !ev.key.mods); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "a") == 0); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "a") == 0); modifiers(&s, XKB_MOD_NAME_SHIFT); key(&s, KEY_A, false); /* Modifier changes cannot change physical identity. */ - ev = next(&w, YASL_INPUT_KEY); + ev = next(&w, YASL_EVENT_KEY); assert(ev.key.key == YASL_KEY_A && ev.key.action == YASL_KEY_RELEASE); assert(ev.key.mods == YASL_MOD_SHIFT); empty(&w); key(&s, KEY_A, true); - next(&w, YASL_INPUT_KEY); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "A") == 0); + next(&w, YASL_EVENT_KEY); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "A") == 0); modifiers(&s, XKB_MOD_NAME_CAPS); key(&s, KEY_A, true); - assert(next(&w, YASL_INPUT_KEY).key.mods == YASL_MOD_CAPS); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "A") == 0); + assert(next(&w, YASL_EVENT_KEY).key.mods == YASL_MOD_CAPS); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "A") == 0); const char *shortcuts[] = {XKB_MOD_NAME_CTRL, XKB_MOD_NAME_ALT, XKB_MOD_NAME_LOGO}; for (size_t i = 0; i < sizeof(shortcuts)/sizeof(shortcuts[0]); i++) { modifiers(&s, shortcuts[i]); key(&s, KEY_A, true); - next(&w, YASL_INPUT_KEY); + next(&w, YASL_EVENT_KEY); empty(&w); /* Shortcut characters never leak into committed text. */ } layout(&s, "fr", NULL); key(&s, KEY_A, true); - ev = next(&w, YASL_INPUT_KEY); + ev = next(&w, YASL_EVENT_KEY); assert(ev.key.key == YASL_KEY_A && ev.key.codepoint == 'q'); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "q") == 0); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "q") == 0); layout(&s, "de", NULL); modifiers(&s, "Mod5"); /* AltGr is text input, not an Alt shortcut. */ key(&s, KEY_E, true); - assert(next(&w, YASL_INPUT_KEY).key.key == YASL_KEY_E); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "€") == 0); + assert(next(&w, YASL_EVENT_KEY).key.key == YASL_KEY_E); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "€") == 0); layout(&s, "us", "intl"); key(&s, KEY_APOSTROPHE, true); - next(&w, YASL_INPUT_KEY); + next(&w, YASL_EVENT_KEY); empty(&w); key(&s, KEY_E, true); - next(&w, YASL_INPUT_KEY); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "é") == 0); + next(&w, YASL_EVENT_KEY); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "é") == 0); assert(keyboard_dispatch_key(&s, &w, KEY_E, YASL_KEY_REPEAT)); - assert(next(&w, YASL_INPUT_KEY).key.action == YASL_KEY_REPEAT); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "e") == 0); + assert(next(&w, YASL_EVENT_KEY).key.action == YASL_KEY_REPEAT); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "e") == 0); key(&s, KEY_APOSTROPHE, true); - next(&w, YASL_INPUT_KEY); + next(&w, YASL_EVENT_KEY); keyboard_reset_keys(&s, &w); key(&s, KEY_E, true); - next(&w, YASL_INPUT_KEY); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "e") == 0); + next(&w, YASL_EVENT_KEY); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "e") == 0); key(&s, KEY_APOSTROPHE, true); - next(&w, YASL_INPUT_KEY); + next(&w, YASL_EVENT_KEY); s.ime_focus = &w; text_input_listener.commit_string(&s, NULL, "字"); text_input_listener.done(&s, NULL, 0); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "字") == 0); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "字") == 0); key(&s, KEY_E, true); - next(&w, YASL_INPUT_KEY); - assert(strcmp(next(&w, YASL_INPUT_TEXT).text.text, "e") == 0); + next(&w, YASL_EVENT_KEY); + assert(strcmp(next(&w, YASL_EVENT_TEXT).text.data, "e") == 0); empty(&w); xkb_compose_state_unref(s.compose); xkb_state_unref(s.xkb_state); -- cgit v1.2.3