1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-15 19:23:10 +00:00
os-autoinst-distri-fedora/tests/_graphical_input.pm
Adam Williamson 6544850829 Update a needle and fix launching keyboard settings on Japanese
To get to the keyboard/input method settings and add an input
method when doing a Japanese install test, we type 'keyboard',
but in current GNOME 42.beta that doesn't find the right pane.
Typing 'input' does work, though, so let's use that instead.
Also the GDM login needle needed updating.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-04 17:20:18 -08:00

65 lines
2.1 KiB
Perl

use base "installedtest";
use strict;
use testapi;
use utils;
sub run {
my $relnum = get_release_number;
if (get_var("LANGUAGE") eq 'japanese' && $relnum > 33) {
# give GNOME a minute to settle
wait_still_screen 5;
# since g-i-s new user mode was dropped and the replacement
# doesn't do input method selection, and anaconda never has,
# we have to set up the input method manually:
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3749
menu_launch_type "input";
unless (check_screen "desktop_add_input_source", 30) {
# first attempt to run this often fails for some reason
check_desktop;
menu_launch_type "input";
}
assert_and_click "desktop_add_input_source";
assert_and_click "desktop_input_source_japanese";
assert_and_click "desktop_input_source_japanese_anthy";
send_key "ret";
wait_still_screen 3;
send_key "alt-f4";
}
# do this from the overview because the desktop uses the stupid
# transparent top bar which messes with our needles
send_key "super";
assert_screen "overview_app_grid";
# check both layouts are available at the desktop; here,
# we can expect input method switching to work too
desktop_switch_layout 'ascii';
desktop_switch_layout 'native';
# special testing for Japanese to ensure input method actually
# works. If we ever test other input-method based languages we can
# generalize this out, for now we just inline Japanese
if (get_var("LANGUAGE") eq 'japanese') {
# wait a bit for input switch to complete
sleep 3;
# assume we can test input from whatever 'super' opened
type_safely "yama";
assert_screen "desktop_yama_hiragana";
send_key "spc";
assert_screen "desktop_yama_kanji";
send_key "spc";
assert_screen "desktop_yama_chooser";
send_key "esc";
send_key "esc";
send_key "esc";
send_key "esc";
check_desktop;
}
}
sub test_flags {
return { fatal => 1 };
}
1;
# vim: set sw=4 et: