[mutter/gnome-3-30] tests: Add 'accept_focus' command to runner and client
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/gnome-3-30] tests: Add 'accept_focus' command to runner and client
- Date: Mon, 24 Jun 2019 15:13:26 +0000 (UTC)
commit 81807fc3105aac8e469309cae87ee6f8ce5e0377
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date: Tue Nov 13 03:43:57 2018 +0100
tests: Add 'accept_focus' command to runner and client
Under the hood, calls gtk_window_set_accept_focus in the client
https://gitlab.gnome.org/GNOME/mutter/merge_requests/307
(cherry picked from commit e1f839f48f8e49c826ba558fbc9d6842a156b28b)
src/tests/test-client.c | 18 ++++++++++++++++++
src/tests/test-runner.c | 19 +++++++++++++++++++
2 files changed, 37 insertions(+)
---
diff --git a/src/tests/test-client.c b/src/tests/test-client.c
index 214f78181..657ecc27d 100644
--- a/src/tests/test-client.c
+++ b/src/tests/test-client.c
@@ -194,6 +194,24 @@ process_line (const char *line)
NULL))
g_print ("Fail to export handle for window id %s", argv[2]);
}
+ else if (strcmp (argv[0], "accept_focus") == 0)
+ {
+ if (argc != 3)
+ {
+ g_print ("usage: %s <window-id> [true|false]", argv[0]);
+ goto out;
+ }
+
+ GtkWidget *window = lookup_window (argv[1]);
+ if (!window)
+ {
+ g_print ("unknown window %s", argv[1]);
+ goto out;
+ }
+
+ gboolean enabled = g_ascii_strcasecmp (argv[2], "true") == 0;
+ gtk_window_set_accept_focus (GTK_WINDOW (window), enabled);
+ }
else if (strcmp (argv[0], "show") == 0)
{
if (argc != 2)
diff --git a/src/tests/test-runner.c b/src/tests/test-runner.c
index ecd9fa7f7..cd3a85854 100644
--- a/src/tests/test-runner.c
+++ b/src/tests/test-runner.c
@@ -435,6 +435,25 @@ test_case_do (TestCase *test,
if (!test_case_parse_window_id (test, argv[1], &client, &window_id, error))
return FALSE;
+ if (!test_client_do (client, error,
+ argv[0], window_id,
+ argv[2],
+ NULL))
+ return FALSE;
+ }
+ else if (strcmp (argv[0], "accept_focus") == 0)
+ {
+ if (argc != 3 ||
+ (g_ascii_strcasecmp (argv[2], "true") != 0 &&
+ g_ascii_strcasecmp (argv[2], "false") != 0))
+ BAD_COMMAND("usage: %s <client-id>/<window-id> [true|false]",
+ argv[0]);
+
+ TestClient *client;
+ const char *window_id;
+ if (!test_case_parse_window_id (test, argv[1], &client, &window_id, error))
+ return FALSE;
+
if (!test_client_do (client, error,
argv[0], window_id,
argv[2],
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]