--- /dev/null
+#
+# Check returns variants as well as normal layouts
+#
+
+[LightDM]
+minimum-display-number=50
+
+[test-greeter-config]
+log-keyboard-layouts=fr
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER :50 START
+#?XSERVER :50 INDICATE-READY
+
+# LightDM connects to X server
+#?XSERVER :50 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER :50 START
+#?XSERVER :50 ACCEPT-CONNECT
+#?GREETER :50 CONNECT-XSERVER
+#?GREETER :50 CONNECT-TO-DAEMON
+#?GREETER :50 CONNECTED-TO-DAEMON
+
+# Correct layouts are found
+#?XSERVER :50 ACCEPT-CONNECT
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr nodeadkeys'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr sundeadkeys'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr oss'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr oss_latin9'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr oss_nodeadkeys'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr oss_sundeadkeys'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr latin9'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr latin9_nodeadkeys'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr latin9_sundeadkeys'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr bepo'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr bepo_latin9'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr dvorak'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr mac'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr bre'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr oci'
+#?GREETER :50 GET-LAYOUTS LAYOUT='fr geo'
+
+# Cleanup
+#?*STOP-DAEMON
+# Don't know what order they will terminate
+#?(GREETER :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
+#?(GREETER :50 TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
+#?RUNNER DAEMON-EXIT STATUS=0
{
GMainLoop *main_loop;
LightDMGreeter *greeter;
- gchar *layout_username, *language_username;
+ gchar *layout_username, *language_username, *layout_prefix;
signal (SIGINT, signal_cb);
signal (SIGTERM, signal_cb);
status_notify ("GREETER %s GET-LAYOUT USERNAME=%s LAYOUT='%s'", getenv ("DISPLAY"), layout_username, layout ? layout : "");
}
+ layout_prefix = g_key_file_get_string (config, "test-greeter-config", "log-keyboard-layouts", NULL);
+ if (layout_prefix)
+ {
+ GList *layouts, *iter;
+
+ layouts = lightdm_get_layouts ();
+
+ for (iter = layouts; iter; iter = iter->next)
+ {
+ LightDMLayout *layout;
+ const gchar *name;
+
+ layout = (LightDMLayout *) iter->data;
+ name = lightdm_layout_get_name (layout);
+
+ if (g_str_has_prefix (name, layout_prefix))
+ {
+ status_notify ("GREETER %s GET-LAYOUTS LAYOUT='%s'", getenv ("DISPLAY"), name);
+ }
+ }
+ }
+
language_username = g_key_file_get_string (config, "test-greeter-config", "log-language", NULL);
if (language_username)
{