f3d6a9574c
This adds a new test that implementsQA:Testcase_desktop_login on both GNOME and KDE. While working on this, we realized that the "desktop_clean" needles were really "app menu" needles, and for KDE, this was a duplication with the new "system menu" needles, because on KDE the app menu and the system menu are the same. So I (Adam) started to de-duplicate that, but also realized that "app menu button" is a much more accurate name for these needles, so I was renaming the old desktop_clean needles to app_menu_button. That led me to the realization that "check_desktop_clean" is itself a dumb name, because we don't (at least, any more, way back in the mists of time we may have done) do anything to check that the desktop is "clean" - we're really just asserting that we're at a desktop *at all*. While thinking *that* through, I *also* realized that the whole "open the overview and look for the app grid icon" workaround it did is no longer necessary, because GNOME doesn't use a translucent top bar any more. That went away in GNOME 3.32, which is in Fedora 30, our oldest supported release. So I threw that away, renamed the function "check_desktop", cleaned up all the needle naming and tagging, and also added an app menu needle for GNOME in Japanese because we were missing one (the Japanese tests have been using the "app grid icon" workaround the whole time).
43 lines
1.2 KiB
Perl
43 lines
1.2 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use utils;
|
|
|
|
sub run {
|
|
# do this from the overview because the desktop uses the stupid
|
|
# transparent top bar which messes with our needles
|
|
send_key "alt-f1";
|
|
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 'alt-f1' 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:
|