From 0075780ac5a8f621b176e7a6005644eedc8046dd Mon Sep 17 00:00:00 2001 From: Lukáš Růžička Date: Mar 28 2023 22:58:16 +0000 Subject: Create test suite for Fonts. --- diff --git a/needles/gnome/apps/fonts/fonts_about_shown.json b/needles/gnome/apps/fonts/fonts_about_shown.json new file mode 100644 index 0000000..b98e245 --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_about_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_about_shown" + ], + "area": [ + { + "xpos": 445, + "ypos": 234, + "width": 137, + "height": 132, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_about_shown.png b/needles/gnome/apps/fonts/fonts_about_shown.png new file mode 100644 index 0000000..909db15 Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_about_shown.png differ diff --git a/needles/gnome/apps/fonts/fonts_c059_font.json b/needles/gnome/apps/fonts/fonts_c059_font.json new file mode 100644 index 0000000..69cc21f --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_c059_font.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_c059_font" + ], + "area": [ + { + "xpos": 54, + "ypos": 104, + "width": 171, + "height": 157, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_c059_font.png b/needles/gnome/apps/fonts/fonts_c059_font.png new file mode 100644 index 0000000..9263194 Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_c059_font.png differ diff --git a/needles/gnome/apps/fonts/fonts_c059_shown.json b/needles/gnome/apps/fonts/fonts_c059_shown.json new file mode 100644 index 0000000..8446c02 --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_c059_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_c059_shown" + ], + "area": [ + { + "xpos": 1, + "ypos": 91, + "width": 459, + "height": 134, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_c059_shown.png b/needles/gnome/apps/fonts/fonts_c059_shown.png new file mode 100644 index 0000000..3abdb9e Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_c059_shown.png differ diff --git a/needles/gnome/apps/fonts/fonts_cantarell_font.json b/needles/gnome/apps/fonts/fonts_cantarell_font.json new file mode 100644 index 0000000..c82d827 --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_cantarell_font.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_cantarell_font" + ], + "area": [ + { + "xpos": 66, + "ypos": 597, + "width": 143, + "height": 146, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_cantarell_font.png b/needles/gnome/apps/fonts/fonts_cantarell_font.png new file mode 100644 index 0000000..9bdf538 Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_cantarell_font.png differ diff --git a/needles/gnome/apps/fonts/fonts_cantarell_info.json b/needles/gnome/apps/fonts/fonts_cantarell_info.json new file mode 100644 index 0000000..defa116 --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_cantarell_info.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_cantarell_info" + ], + "area": [ + { + "xpos": 14, + "ypos": 96, + "width": 176, + "height": 106, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_cantarell_info.png b/needles/gnome/apps/fonts/fonts_cantarell_info.png new file mode 100644 index 0000000..d6599c7 Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_cantarell_info.png differ diff --git a/needles/gnome/apps/fonts/fonts_cantarell_shown.json b/needles/gnome/apps/fonts/fonts_cantarell_shown.json new file mode 100644 index 0000000..011ec86 --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_cantarell_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_cantarell_shown" + ], + "area": [ + { + "xpos": 2, + "ypos": 104, + "width": 397, + "height": 149, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_cantarell_shown.png b/needles/gnome/apps/fonts/fonts_cantarell_shown.png new file mode 100644 index 0000000..215619b Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_cantarell_shown.png differ diff --git a/needles/gnome/apps/fonts/fonts_cantarell_sizes.json b/needles/gnome/apps/fonts/fonts_cantarell_sizes.json new file mode 100644 index 0000000..b9eb9ee --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_cantarell_sizes.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_cantarell_sizes" + ], + "area": [ + { + "xpos": 9, + "ypos": 262, + "width": 98, + "height": 438, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_cantarell_sizes.png b/needles/gnome/apps/fonts/fonts_cantarell_sizes.png new file mode 100644 index 0000000..00d079d Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_cantarell_sizes.png differ diff --git a/needles/gnome/apps/fonts/fonts_credits_shown-20230328.json b/needles/gnome/apps/fonts/fonts_credits_shown-20230328.json new file mode 100644 index 0000000..c9fb19a --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_credits_shown-20230328.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "type": "match", + "height": 137, + "ypos": 176, + "xpos": 341, + "width": 138 + } + ], + "properties": [], + "tags": [ + "fonts_credits_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_credits_shown-20230328.png b/needles/gnome/apps/fonts/fonts_credits_shown-20230328.png new file mode 100644 index 0000000..c3bc320 Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_credits_shown-20230328.png differ diff --git a/needles/gnome/apps/fonts/fonts_credits_shown.json b/needles/gnome/apps/fonts/fonts_credits_shown.json new file mode 100644 index 0000000..558827e --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_credits_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_credits_shown" + ], + "area": [ + { + "xpos": 342, + "ypos": 181, + "width": 138, + "height": 137, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_credits_shown.png b/needles/gnome/apps/fonts/fonts_credits_shown.png new file mode 100644 index 0000000..8e2c8cd Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_credits_shown.png differ diff --git a/needles/gnome/apps/fonts/fonts_legal_shown.json b/needles/gnome/apps/fonts/fonts_legal_shown.json new file mode 100644 index 0000000..9acc553 --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_legal_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_legal_shown" + ], + "area": [ + { + "xpos": 339, + "ypos": 191, + "width": 307, + "height": 22, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_legal_shown.png b/needles/gnome/apps/fonts/fonts_legal_shown.png new file mode 100644 index 0000000..1c1b2d6 Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_legal_shown.png differ diff --git a/needles/gnome/apps/fonts/fonts_liberation_font_found-20230328.json b/needles/gnome/apps/fonts/fonts_liberation_font_found-20230328.json new file mode 100644 index 0000000..3d0bb8c --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_liberation_font_found-20230328.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 38, + "ypos": 178, + "width": 752, + "height": 101, + "type": "match" + } + ], + "properties": [], + "tags": [ + "fonts_liberation_font_found" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_liberation_font_found-20230328.png b/needles/gnome/apps/fonts/fonts_liberation_font_found-20230328.png new file mode 100644 index 0000000..5674a42 Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_liberation_font_found-20230328.png differ diff --git a/needles/gnome/apps/fonts/fonts_liberation_font_found.json b/needles/gnome/apps/fonts/fonts_liberation_font_found.json new file mode 100644 index 0000000..b8ec6cf --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_liberation_font_found.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_liberation_font_found" + ], + "area": [ + { + "xpos": 38, + "ypos": 182, + "width": 752, + "height": 101, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_liberation_font_found.png b/needles/gnome/apps/fonts/fonts_liberation_font_found.png new file mode 100644 index 0000000..050932a Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_liberation_font_found.png differ diff --git a/needles/gnome/apps/fonts/fonts_website_opened-20230209.json b/needles/gnome/apps/fonts/fonts_website_opened-20230209.json new file mode 100644 index 0000000..5028e9f --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_website_opened-20230209.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "height": 24, + "ypos": 84, + "type": "match", + "width": 381, + "xpos": 242 + } + ], + "properties": [], + "tags": [ + "fonts_website_opened" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_website_opened-20230209.png b/needles/gnome/apps/fonts/fonts_website_opened-20230209.png new file mode 100644 index 0000000..aa8a4f7 Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_website_opened-20230209.png differ diff --git a/needles/gnome/apps/fonts/fonts_website_opened.json b/needles/gnome/apps/fonts/fonts_website_opened.json new file mode 100644 index 0000000..c94c9f5 --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_website_opened.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 241, + "ypos": 84, + "width": 381, + "height": 24, + "type": "match" + } + ], + "properties": [], + "tags": [ + "fonts_website_opened" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_website_opened.png b/needles/gnome/apps/fonts/fonts_website_opened.png new file mode 100644 index 0000000..24cfd7f Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_website_opened.png differ diff --git a/needles/gnome/apps/fonts/gnome_button_info.json b/needles/gnome/apps/fonts/gnome_button_info.json new file mode 100644 index 0000000..79684a0 --- /dev/null +++ b/needles/gnome/apps/fonts/gnome_button_info.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gnome_button_info" + ], + "area": [ + { + "xpos": 827, + "ypos": 42, + "width": 45, + "height": 26, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/gnome_button_info.png b/needles/gnome/apps/fonts/gnome_button_info.png new file mode 100644 index 0000000..330bfe6 Binary files /dev/null and b/needles/gnome/apps/fonts/gnome_button_info.png differ diff --git a/needles/gnome/apps/fonts/gnome_button_install.json b/needles/gnome/apps/fonts/gnome_button_install.json new file mode 100644 index 0000000..7646d18 --- /dev/null +++ b/needles/gnome/apps/fonts/gnome_button_install.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 913, + "ypos": 45, + "width": 52, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "gnome_button_install" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/gnome_button_install.png b/needles/gnome/apps/fonts/gnome_button_install.png new file mode 100644 index 0000000..217e2e8 Binary files /dev/null and b/needles/gnome/apps/fonts/gnome_button_install.png differ diff --git a/needles/gnome/apps/fonts/gnome_button_legal.json b/needles/gnome/apps/fonts/gnome_button_legal.json new file mode 100644 index 0000000..88807d2 --- /dev/null +++ b/needles/gnome/apps/fonts/gnome_button_legal.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 353, + "ypos": 636, + "width": 48, + "height": 25, + "type": "match" + } + ], + "properties": [], + "tags": [ + "gnome_button_legal" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/gnome_button_legal.png b/needles/gnome/apps/fonts/gnome_button_legal.png new file mode 100644 index 0000000..e422345 Binary files /dev/null and b/needles/gnome/apps/fonts/gnome_button_legal.png differ diff --git a/needles/gnome/apps/fonts/gnome_button_website.json b/needles/gnome/apps/fonts/gnome_button_website.json new file mode 100644 index 0000000..97390a9 --- /dev/null +++ b/needles/gnome/apps/fonts/gnome_button_website.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 355, + "ypos": 437, + "width": 59, + "height": 22, + "type": "match" + } + ], + "properties": [], + "tags": [ + "gnome_button_website" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/gnome_button_website.png b/needles/gnome/apps/fonts/gnome_button_website.png new file mode 100644 index 0000000..96b4a07 Binary files /dev/null and b/needles/gnome/apps/fonts/gnome_button_website.png differ diff --git a/needles/gnome/apps/fonts/gnome_icon_info.json b/needles/gnome/apps/fonts/gnome_icon_info.json new file mode 100644 index 0000000..57dd828 --- /dev/null +++ b/needles/gnome/apps/fonts/gnome_icon_info.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gnome_icon_info" + ], + "area": [ + { + "xpos": 951, + "ypos": 45, + "width": 22, + "height": 22, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/gnome_icon_info.png b/needles/gnome/apps/fonts/gnome_icon_info.png new file mode 100644 index 0000000..d5f6fc2 Binary files /dev/null and b/needles/gnome/apps/fonts/gnome_icon_info.png differ diff --git a/needles/gnome/apps/fonts/gnome_icon_search.json b/needles/gnome/apps/fonts/gnome_icon_search.json new file mode 100644 index 0000000..3b79011 --- /dev/null +++ b/needles/gnome/apps/fonts/gnome_icon_search.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gnome_icon_search" + ], + "area": [ + { + "xpos": 9, + "ypos": 42, + "width": 30, + "height": 27, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/gnome_icon_search.png b/needles/gnome/apps/fonts/gnome_icon_search.png new file mode 100644 index 0000000..5814a8f Binary files /dev/null and b/needles/gnome/apps/fonts/gnome_icon_search.png differ diff --git a/templates.fif.json b/templates.fif.json index 71da271..b1cb183 100644 --- a/templates.fif.json +++ b/templates.fif.json @@ -1132,6 +1132,22 @@ "START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%" } }, + "fonts": { + "profiles": { + "fedora-Silverblue-dvd_ostree-iso-ppc64le-*-ppc64le": 50, + "fedora-Silverblue-dvd_ostree-iso-x86_64-*-64bit": 50, + "fedora-Workstation-live-iso-ppc64le-*-ppc64le": 20, + "fedora-Workstation-live-iso-x86_64-*-64bit": 20, + "fedora-Workstation-upgrade-aarch64-*-aarch64": 40, + "fedora-Workstation-raw_xz-raw.xz-aarch64-*-aarch64": 22 + }, + "settings": { + "BOOTFROM": "c", + "HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2", + "POSTINSTALL_PATH": "tests/applications/fonts", + "START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%" + } + }, "help_viewer": { "profiles": { "fedora-Silverblue-dvd_ostree-iso-ppc64le-*-ppc64le": 50, diff --git a/tests/applications/fonts/aaa_setup.pm b/tests/applications/fonts/aaa_setup.pm new file mode 100644 index 0000000..c1ab2ba --- /dev/null +++ b/tests/applications/fonts/aaa_setup.pm @@ -0,0 +1,28 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This script will start Fonts and save a milestone for the +# subsequent tests. + +sub run { + my $self = shift; + + # Start the application + menu_launch_type("fonts"); + # Check that is started + assert_screen 'apps_run_fonts'; + + # Fullsize the window. + send_key("super-up"); + wait_still_screen(2); +} + +sub test_flags { + return {fatal => 1, milestone => 1}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/applications/fonts/about.pm b/tests/applications/fonts/about.pm new file mode 100644 index 0000000..3643932 --- /dev/null +++ b/tests/applications/fonts/about.pm @@ -0,0 +1,42 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This script will examine that the About dialogue +# works as expected. + +sub run { + my $self = shift; + # Click on the Info icon in the upper right corner. + assert_and_click("gnome_icon_info"); + # Check that the correct font is shown. + assert_screen("fonts_about_shown"); + # Click on Credits to see them. + assert_and_click("gnome_button_credits"); + + # Check that Credits are shown + assert_screen("fonts_credits_shown"); + # Return to previous screen + send_key("esc"); + + # Click on Legal to see legal info. + assert_and_click("gnome_button_legal"); + # Check that Credits are shown + assert_screen("fonts_legal_shown"); + # Return to previous screen + send_key("esc"); + + # Check that a project website can be reached. + assert_and_click("gnome_button_website"); + # Check that the website has been opened + assert_screen("fonts_website_opened"); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/applications/fonts/info.pm b/tests/applications/fonts/info.pm new file mode 100644 index 0000000..b4b819a --- /dev/null +++ b/tests/applications/fonts/info.pm @@ -0,0 +1,31 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This script will show info for the Cantarell font +# that should be the among those installed by default. + +sub run { + my $self = shift; + # Send the TAB key until the Cantarell font is found. + send_key_until_needlematch("fonts_cantarell_font", "tab", 30, 1); + # Click on the icon + click_lastmatch(); + # Check that the correct font is shown. + assert_screen("fonts_cantarell_shown"); + # Check that various sizes are shown. + assert_screen("fonts_cantarell_sizes"); + # Click on Info to get more information. + assert_and_click("gnome_button_info"); + # Check for various information on that page. + assert_screen("fonts_cantarell_info"); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/applications/fonts/install.pm b/tests/applications/fonts/install.pm new file mode 100644 index 0000000..acdfb39 --- /dev/null +++ b/tests/applications/fonts/install.pm @@ -0,0 +1,33 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This will try to install the selected Cantarell +# font that is installable, but not installed. + +sub run { + my $self = shift; + # Send the TAB key until the Cantarell font is found. + send_key_until_needlematch("fonts_c059_font", "tab", 30, 1); + click_lastmatch(); + # Check that the correct font is shown. + assert_screen("fonts_c059_shown"); + # Click on the Install button. + assert_and_click("gnome_button_install"); + # Because it seems that the font installation does + # not work as expected and this has been reported + # as https://gitlab.gnome.org/GNOME/gnome-font-viewer/-/issues/64 + # we will only softfail when this happens. + unless (check_screen("fonts_c059_installed", timeout => 120)) { + record_soft_failure("The installation seems to not have fully completed, see https://gitlab.gnome.org/GNOME/gnome-font-viewer/-/issues/64."); + } +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/applications/fonts/screenshot.json b/tests/applications/fonts/screenshot.json new file mode 100644 index 0000000..553619e --- /dev/null +++ b/tests/applications/fonts/screenshot.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "fonts_c059_font" + ], + "area": [ + { + "xpos": 55, + "ypos": 105, + "width": 170, + "height": 155, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/tests/applications/fonts/search.pm b/tests/applications/fonts/search.pm new file mode 100644 index 0000000..d9c712a --- /dev/null +++ b/tests/applications/fonts/search.pm @@ -0,0 +1,27 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This script will try the Search dialogue to look for +# a certain font. + +sub run { + my $self = shift; + # Click on the Search icon + assert_and_click("gnome_icon_search"); + wait_still_screen(2); + # Type the name of the font + type_very_safely("Liberation Serif"); + # Check that the Liberation Serif fonts + # have been found. + assert_screen("fonts_liberation_font_found"); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: