diff --git a/VARIABLES.md b/VARIABLES.md index 2bc7819f..f3ae3e32 100644 --- a/VARIABLES.md +++ b/VARIABLES.md @@ -74,7 +74,8 @@ it also means that `B` conflicts `A` even if not shown in the table). | `USER_PASSWORD` | string | not set | should be used with `USER_LOGIN` | when set, user password is set to this value. If not set, default value `weakpassword` is used for console installs, no login is done for graphical installs | | `TEST_UPDATES` | boolean | `false`/not set | set to indicate that this test checks updates.img loading, so we should check for the expected effect of the updates image used for this testing | | `PREINSTALL` | string | not set | nothing | If set, specified module will be loaded before reboot and install; module supposed to be starting as rescue mode | -| `POSTINSTALL` | string | not set | nothing | If set, `tests/(value)_postinstall.pm` will be loaded after install, boot, login, and other postinstall tests +| `POSTINSTALL` | string | not set | `POSTINSTALL_PATH` | If set, `tests/(value)_postinstall.pm` will be loaded after install, boot, login, and other postinstall tests +| `POSTINSTALL_PATH` | boolean | not set | `POSTINSTALL` | If set, `all tests on `TESTPATH` location will be loaded as postinstall tests after install, boot, login, and other postinstall tests | | `UEFI` | boolean | `false`/not set | nothing | whether to use UEFI, this variable isn't usually set in test suites but in machine definition | | `ANACONDA_TEXT` | boolean | `false`/not set | all | when specified, anaconda will run in text mode | | `HELPCHECK` | boolean | `false`/not set | all | when specified, Anaconda Help will be called on each available pane. | @@ -85,6 +86,7 @@ it also means that `B` conflicts `A` even if not shown in the table). | `BUGZILLA_LOGIN` | string | not set | used with `_SECRET_BUGZILLA_PASSWORD` | This is used to store a login string which does not get exposed in log files. | | `_SECRET_BUGZILLA_PASSWORD` | string | not set | used with `BUGZILLA_LOGIN` | This is used to store a password string which does not get exposed in log files. | | `_SECRET_BUGZILLA_APIKEY` | string | not set | used with other secrets | This is used to store an API key which does not get exposed in log files. | +| `TESTPATH` | string | not set | can be used to set path for postinstall tests, if they are placed in subdirectories Run variables ------------- diff --git a/main.pm b/main.pm index 56b161dc..7494b58e 100644 --- a/main.pm +++ b/main.pm @@ -323,13 +323,33 @@ sub load_postinstall_tests() { autotest::loadtest "tests/_console_avc_crash.pm"; } - # generic post-install test load - if (get_var("POSTINSTALL")) { - my @pis = split(/ /, get_var("POSTINSTALL")); - foreach my $pi (@pis) { - autotest::loadtest "tests/${pi}.pm"; - } - } + # generic post-install test will load if POSTINSTALL or POSTINSTALL_PATH + # are set. If POSTINSTALL is set, then only tests provided in that list will + # be run, with POSTINSTALL_PATH all tests on that path will be run without any + # possibility to limit them. + # These variables are mutually exclusive. + # If POSTINSTALL is set, it means that we want to run selected tests, + # specified in the POSTINSTALL variable. + if (get_var("POSTINSTALL")) { + my @pis = split(/ /, get_var("POSTINSTALL")); + # For each test in POSTINSTALL, load the test + foreach my $pi (@pis) { + autotest::loadtest "tests/${pi}.pm"; + } + } + # If POSTINSTALL_PATH is set, we will load all available test files from that location + # as postinstall tests. + elsif (get_var("POSTINSTALL_PATH")) { + my $casedir = get_var("CASEDIR"); + my $path = get_var("POSTINSTALL_PATH"); + # Read the list of files on that path, + my @pis = glob "${casedir}/${path}/*.pm"; + # and load each of them. + foreach my $pi (@pis) { + $pi = basename($pi); + autotest::loadtest "$path/$pi"; + } + } # load the ADVISORY / KOJITASK post-install test - this records which # update or task packages were actually installed during the test. Don't diff --git a/needles/gnome/apps/evince/evince_about_credits.json b/needles/gnome/apps/evince/evince_about_credits.json new file mode 100644 index 00000000..8c8ad2bc --- /dev/null +++ b/needles/gnome/apps/evince/evince_about_credits.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 546, + "ypos": 224, + "width": 53, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_about_credits" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_about_credits.png b/needles/gnome/apps/evince/evince_about_credits.png new file mode 100644 index 00000000..ecb3fd92 Binary files /dev/null and b/needles/gnome/apps/evince/evince_about_credits.png differ diff --git a/needles/gnome/apps/evince/evince_about_shown.json b/needles/gnome/apps/evince/evince_about_shown.json new file mode 100644 index 00000000..50459b7e --- /dev/null +++ b/needles/gnome/apps/evince/evince_about_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "evince_about_shown" + ], + "area": [ + { + "xpos": 445, + "ypos": 286, + "width": 133, + "height": 146, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_about_shown.png b/needles/gnome/apps/evince/evince_about_shown.png new file mode 100644 index 00000000..09602dd4 Binary files /dev/null and b/needles/gnome/apps/evince/evince_about_shown.png differ diff --git a/needles/gnome/apps/evince/evince_add_annotation.json b/needles/gnome/apps/evince/evince_add_annotation.json new file mode 100644 index 00000000..ea4cdee1 --- /dev/null +++ b/needles/gnome/apps/evince/evince_add_annotation.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 150, + "ypos": 43, + "width": 25, + "height": 26, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_add_annotation" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_add_annotation.png b/needles/gnome/apps/evince/evince_add_annotation.png new file mode 100644 index 00000000..d0512d6a Binary files /dev/null and b/needles/gnome/apps/evince/evince_add_annotation.png differ diff --git a/needles/gnome/apps/evince/evince_add_annotation_text.json b/needles/gnome/apps/evince/evince_add_annotation_text.json new file mode 100644 index 00000000..074eca57 --- /dev/null +++ b/needles/gnome/apps/evince/evince_add_annotation_text.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 18, + "ypos": 90, + "width": 67, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_add_annotation_text" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_add_annotation_text.png b/needles/gnome/apps/evince/evince_add_annotation_text.png new file mode 100644 index 00000000..1295d270 Binary files /dev/null and b/needles/gnome/apps/evince/evince_add_annotation_text.png differ diff --git a/needles/gnome/apps/evince/evince_annotation_added.json b/needles/gnome/apps/evince/evince_annotation_added.json new file mode 100644 index 00000000..5063f1bf --- /dev/null +++ b/needles/gnome/apps/evince/evince_annotation_added.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 607, + "type": "match", + "height": 22, + "width": 40, + "xpos": 372 + } + ], + "properties": [], + "tags": [ + "evince_annotation_added" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_annotation_added.png b/needles/gnome/apps/evince/evince_annotation_added.png new file mode 100644 index 00000000..c6bbb6dd Binary files /dev/null and b/needles/gnome/apps/evince/evince_annotation_added.png differ diff --git a/needles/gnome/apps/evince/evince_annotation_placed.json b/needles/gnome/apps/evince/evince_annotation_placed.json new file mode 100644 index 00000000..c0cf44a7 --- /dev/null +++ b/needles/gnome/apps/evince/evince_annotation_placed.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 600, + "type": "match", + "height": 32, + "width": 30, + "xpos": 373 + } + ], + "properties": [], + "tags": [ + "evince_annotation_placed" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_annotation_placed.png b/needles/gnome/apps/evince/evince_annotation_placed.png new file mode 100644 index 00000000..e06e527a Binary files /dev/null and b/needles/gnome/apps/evince/evince_annotation_placed.png differ diff --git a/needles/gnome/apps/evince/evince_annotation_removed.json b/needles/gnome/apps/evince/evince_annotation_removed.json new file mode 100644 index 00000000..39499c5a --- /dev/null +++ b/needles/gnome/apps/evince/evince_annotation_removed.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 584, + "type": "match", + "height": 45, + "xpos": 345, + "width": 161 + } + ], + "properties": [], + "tags": [ + "evince_annotation_removed" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_annotation_removed.png b/needles/gnome/apps/evince/evince_annotation_removed.png new file mode 100644 index 00000000..52478d11 Binary files /dev/null and b/needles/gnome/apps/evince/evince_annotation_removed.png differ diff --git a/needles/gnome/apps/evince/evince_change_zoom.json b/needles/gnome/apps/evince/evince_change_zoom.json new file mode 100644 index 00000000..4f723fdf --- /dev/null +++ b/needles/gnome/apps/evince/evince_change_zoom.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 43, + "xpos": 860, + "height": 27, + "width": 23, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_change_zoom" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_change_zoom.png b/needles/gnome/apps/evince/evince_change_zoom.png new file mode 100644 index 00000000..60d59141 Binary files /dev/null and b/needles/gnome/apps/evince/evince_change_zoom.png differ diff --git a/needles/gnome/apps/evince/evince_close_annotation.json b/needles/gnome/apps/evince/evince_close_annotation.json new file mode 100644 index 00000000..5dd49704 --- /dev/null +++ b/needles/gnome/apps/evince/evince_close_annotation.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 626, + "ypos": 578, + "width": 24, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_close_annotation" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_close_annotation.png b/needles/gnome/apps/evince/evince_close_annotation.png new file mode 100644 index 00000000..8f531695 Binary files /dev/null and b/needles/gnome/apps/evince/evince_close_annotation.png differ diff --git a/needles/gnome/apps/evince/evince_content_rotated_once.json b/needles/gnome/apps/evince/evince_content_rotated_once.json new file mode 100644 index 00000000..ac9c2223 --- /dev/null +++ b/needles/gnome/apps/evince/evince_content_rotated_once.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 819, + "ypos": 259, + "width": 27, + "height": 70, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_content_rotated_once" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_content_rotated_once.png b/needles/gnome/apps/evince/evince_content_rotated_once.png new file mode 100644 index 00000000..e968457f Binary files /dev/null and b/needles/gnome/apps/evince/evince_content_rotated_once.png differ diff --git a/needles/gnome/apps/evince/evince_credits_shown.json b/needles/gnome/apps/evince/evince_credits_shown.json new file mode 100644 index 00000000..288d1e46 --- /dev/null +++ b/needles/gnome/apps/evince/evince_credits_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 423, + "ypos": 411, + "width": 73, + "height": 56, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_credits_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_credits_shown.png b/needles/gnome/apps/evince/evince_credits_shown.png new file mode 100644 index 00000000..31a1af89 Binary files /dev/null and b/needles/gnome/apps/evince/evince_credits_shown.png differ diff --git a/needles/gnome/apps/evince/evince_document_zoom_200.json b/needles/gnome/apps/evince/evince_document_zoom_200.json new file mode 100644 index 00000000..94524ad6 --- /dev/null +++ b/needles/gnome/apps/evince/evince_document_zoom_200.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 630, + "ypos": 550, + "width": 349, + "height": 56, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_document_zoom_200" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_document_zoom_200.png b/needles/gnome/apps/evince/evince_document_zoom_200.png new file mode 100644 index 00000000..120fc8c1 Binary files /dev/null and b/needles/gnome/apps/evince/evince_document_zoom_200.png differ diff --git a/needles/gnome/apps/evince/evince_dual_mode.json b/needles/gnome/apps/evince/evince_dual_mode.json new file mode 100644 index 00000000..45a0e0fa --- /dev/null +++ b/needles/gnome/apps/evince/evince_dual_mode.json @@ -0,0 +1,22 @@ +{ + "properties": [], + "tags": [ + "evince_dual_mode" + ], + "area": [ + { + "xpos": 322, + "ypos": 383, + "width": 88, + "height": 16, + "type": "match" + }, + { + "xpos": 703, + "ypos": 428, + "width": 99, + "height": 16, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_dual_mode.png b/needles/gnome/apps/evince/evince_dual_mode.png new file mode 100644 index 00000000..d493ca18 Binary files /dev/null and b/needles/gnome/apps/evince/evince_dual_mode.png differ diff --git a/needles/gnome/apps/evince/evince_file_opened.json b/needles/gnome/apps/evince/evince_file_opened.json new file mode 100644 index 00000000..1fea2a1c --- /dev/null +++ b/needles/gnome/apps/evince/evince_file_opened.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 411, + "ypos": 317, + "width": 338, + "height": 34, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_file_opened" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_file_opened.png b/needles/gnome/apps/evince/evince_file_opened.png new file mode 100644 index 00000000..d228c76d Binary files /dev/null and b/needles/gnome/apps/evince/evince_file_opened.png differ diff --git a/needles/gnome/apps/evince/evince_file_select_pdf.json b/needles/gnome/apps/evince/evince_file_select_pdf.json new file mode 100644 index 00000000..b8984fd0 --- /dev/null +++ b/needles/gnome/apps/evince/evince_file_select_pdf.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 187, + "ypos": 155, + "width": 76, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_file_select_pdf" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_file_select_pdf.png b/needles/gnome/apps/evince/evince_file_select_pdf.png new file mode 100644 index 00000000..64ceac30 Binary files /dev/null and b/needles/gnome/apps/evince/evince_file_select_pdf.png differ diff --git a/needles/gnome/apps/evince/evince_help_shown.json b/needles/gnome/apps/evince/evince_help_shown.json new file mode 100644 index 00000000..fd4ea983 --- /dev/null +++ b/needles/gnome/apps/evince/evince_help_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 68, + "ypos": 109, + "width": 371, + "height": 42, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_help_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_help_shown.png b/needles/gnome/apps/evince/evince_help_shown.png new file mode 100644 index 00000000..62765937 Binary files /dev/null and b/needles/gnome/apps/evince/evince_help_shown.png differ diff --git a/needles/gnome/apps/evince/evince_menu_about.json b/needles/gnome/apps/evince/evince_menu_about.json new file mode 100644 index 00000000..bcb4a473 --- /dev/null +++ b/needles/gnome/apps/evince/evince_menu_about.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 783, + "ypos": 596, + "width": 163, + "height": 23, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_menu_about" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_menu_about.png b/needles/gnome/apps/evince/evince_menu_about.png new file mode 100644 index 00000000..f74e9544 Binary files /dev/null and b/needles/gnome/apps/evince/evince_menu_about.png differ diff --git a/needles/gnome/apps/evince/evince_menu_dual.json b/needles/gnome/apps/evince/evince_menu_dual.json new file mode 100644 index 00000000..68d1e5b1 --- /dev/null +++ b/needles/gnome/apps/evince/evince_menu_dual.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 785, + "ypos": 335, + "width": 40, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_menu_dual" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_menu_dual.png b/needles/gnome/apps/evince/evince_menu_dual.png new file mode 100644 index 00000000..0d0a2e0e Binary files /dev/null and b/needles/gnome/apps/evince/evince_menu_dual.png differ diff --git a/needles/gnome/apps/evince/evince_menu_help.json b/needles/gnome/apps/evince/evince_menu_help.json new file mode 100644 index 00000000..bab28d40 --- /dev/null +++ b/needles/gnome/apps/evince/evince_menu_help.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 783, + "ypos": 571, + "width": 40, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_menu_help" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_menu_help.png b/needles/gnome/apps/evince/evince_menu_help.png new file mode 100644 index 00000000..c2f7f281 Binary files /dev/null and b/needles/gnome/apps/evince/evince_menu_help.png differ diff --git a/needles/gnome/apps/evince/evince_menu_properties.json b/needles/gnome/apps/evince/evince_menu_properties.json new file mode 100644 index 00000000..8125196f --- /dev/null +++ b/needles/gnome/apps/evince/evince_menu_properties.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 784, + "ypos": 486, + "width": 73, + "height": 22, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_menu_properties" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_menu_properties.png b/needles/gnome/apps/evince/evince_menu_properties.png new file mode 100644 index 00000000..3482e8fa Binary files /dev/null and b/needles/gnome/apps/evince/evince_menu_properties.png differ diff --git a/needles/gnome/apps/evince/evince_menu_rotate.json b/needles/gnome/apps/evince/evince_menu_rotate.json new file mode 100644 index 00000000..af8d6bab --- /dev/null +++ b/needles/gnome/apps/evince/evince_menu_rotate.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 784, + "ypos": 421, + "width": 61, + "height": 18, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_menu_rotate" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_menu_rotate.png b/needles/gnome/apps/evince/evince_menu_rotate.png new file mode 100644 index 00000000..48739552 Binary files /dev/null and b/needles/gnome/apps/evince/evince_menu_rotate.png differ diff --git a/needles/gnome/apps/evince/evince_menu_saveas.json b/needles/gnome/apps/evince/evince_menu_saveas.json new file mode 100644 index 00000000..798c60f7 --- /dev/null +++ b/needles/gnome/apps/evince/evince_menu_saveas.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 784, + "ypos": 243, + "width": 68, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_menu_saveas" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_menu_saveas.png b/needles/gnome/apps/evince/evince_menu_saveas.png new file mode 100644 index 00000000..0035ec9d Binary files /dev/null and b/needles/gnome/apps/evince/evince_menu_saveas.png differ diff --git a/needles/gnome/apps/evince/evince_menu_shortcuts.json b/needles/gnome/apps/evince/evince_menu_shortcuts.json new file mode 100644 index 00000000..812937ae --- /dev/null +++ b/needles/gnome/apps/evince/evince_menu_shortcuts.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 784, + "ypos": 544, + "width": 132, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_menu_shortcuts" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_menu_shortcuts.png b/needles/gnome/apps/evince/evince_menu_shortcuts.png new file mode 100644 index 00000000..e9a67c0c Binary files /dev/null and b/needles/gnome/apps/evince/evince_menu_shortcuts.png differ diff --git a/needles/gnome/apps/evince/evince_night_mode.json b/needles/gnome/apps/evince/evince_night_mode.json new file mode 100644 index 00000000..bd246bd6 --- /dev/null +++ b/needles/gnome/apps/evince/evince_night_mode.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "evince_night_mode" + ], + "area": [ + { + "xpos": 430, + "ypos": 315, + "width": 332, + "height": 35, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_night_mode.png b/needles/gnome/apps/evince/evince_night_mode.png new file mode 100644 index 00000000..17224f1d Binary files /dev/null and b/needles/gnome/apps/evince/evince_night_mode.png differ diff --git a/needles/gnome/apps/evince/evince_open_file_dialog.json b/needles/gnome/apps/evince/evince_open_file_dialog.json new file mode 100644 index 00000000..729a6c35 --- /dev/null +++ b/needles/gnome/apps/evince/evince_open_file_dialog.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 397, + "ypos": 91, + "width": 55, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_open_file_dialog" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_open_file_dialog.png b/needles/gnome/apps/evince/evince_open_file_dialog.png new file mode 100644 index 00000000..158f447b Binary files /dev/null and b/needles/gnome/apps/evince/evince_open_file_dialog.png differ diff --git a/needles/gnome/apps/evince/evince_properties_shown.json b/needles/gnome/apps/evince/evince_properties_shown.json new file mode 100644 index 00000000..da72c5f0 --- /dev/null +++ b/needles/gnome/apps/evince/evince_properties_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "evince_properties_shown" + ], + "area": [ + { + "xpos": 396, + "ypos": 349, + "width": 110, + "height": 44, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_properties_shown.png b/needles/gnome/apps/evince/evince_properties_shown.png new file mode 100644 index 00000000..384b7f5b Binary files /dev/null and b/needles/gnome/apps/evince/evince_properties_shown.png differ diff --git a/needles/gnome/apps/evince/evince_remove_annotation.json b/needles/gnome/apps/evince/evince_remove_annotation.json new file mode 100644 index 00000000..4667a225 --- /dev/null +++ b/needles/gnome/apps/evince/evince_remove_annotation.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "evince_remove_annotation" + ], + "area": [ + { + "xpos": 414, + "ypos": 543, + "width": 131, + "height": 18, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_remove_annotation.png b/needles/gnome/apps/evince/evince_remove_annotation.png new file mode 100644 index 00000000..7d711b2e Binary files /dev/null and b/needles/gnome/apps/evince/evince_remove_annotation.png differ diff --git a/needles/gnome/apps/evince/evince_search_button.json b/needles/gnome/apps/evince/evince_search_button.json new file mode 100644 index 00000000..ad4bc8ec --- /dev/null +++ b/needles/gnome/apps/evince/evince_search_button.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 897, + "ypos": 42, + "width": 31, + "height": 28, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_search_button" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_search_button.png b/needles/gnome/apps/evince/evince_search_button.png new file mode 100644 index 00000000..f3acd1da Binary files /dev/null and b/needles/gnome/apps/evince/evince_search_button.png differ diff --git a/needles/gnome/apps/evince/evince_search_found.json b/needles/gnome/apps/evince/evince_search_found.json new file mode 100644 index 00000000..c81e9d31 --- /dev/null +++ b/needles/gnome/apps/evince/evince_search_found.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 638, + "ypos": 540, + "width": 38, + "height": 14, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_search_found" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_search_found.png b/needles/gnome/apps/evince/evince_search_found.png new file mode 100644 index 00000000..ee5c1324 Binary files /dev/null and b/needles/gnome/apps/evince/evince_search_found.png differ diff --git a/needles/gnome/apps/evince/evince_select_annotation_place.json b/needles/gnome/apps/evince/evince_select_annotation_place.json new file mode 100644 index 00000000..d533da04 --- /dev/null +++ b/needles/gnome/apps/evince/evince_select_annotation_place.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 585, + "type": "match", + "height": 30, + "width": 43, + "xpos": 352 + } + ], + "properties": [], + "tags": [ + "evince_select_annotation_place" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_select_annotation_place.png b/needles/gnome/apps/evince/evince_select_annotation_place.png new file mode 100644 index 00000000..bfe885fb Binary files /dev/null and b/needles/gnome/apps/evince/evince_select_annotation_place.png differ diff --git a/needles/gnome/apps/evince/evince_select_zoom_200.json b/needles/gnome/apps/evince/evince_select_zoom_200.json new file mode 100644 index 00000000..20c3f06a --- /dev/null +++ b/needles/gnome/apps/evince/evince_select_zoom_200.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 822, + "ypos": 358, + "width": 44, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_select_zoom_200" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_select_zoom_200.png b/needles/gnome/apps/evince/evince_select_zoom_200.png new file mode 100644 index 00000000..07efd9ba Binary files /dev/null and b/needles/gnome/apps/evince/evince_select_zoom_200.png differ diff --git a/needles/gnome/apps/evince/evince_select_zoom_fitwidth.json b/needles/gnome/apps/evince/evince_select_zoom_fitwidth.json new file mode 100644 index 00000000..1a52ce7b --- /dev/null +++ b/needles/gnome/apps/evince/evince_select_zoom_fitwidth.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 821, + "ypos": 118, + "width": 65, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_select_zoom_fitwidth" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_select_zoom_fitwidth.png b/needles/gnome/apps/evince/evince_select_zoom_fitwidth.png new file mode 100644 index 00000000..42b977a7 Binary files /dev/null and b/needles/gnome/apps/evince/evince_select_zoom_fitwidth.png differ diff --git a/needles/gnome/apps/evince/evince_shortcuts_second.json b/needles/gnome/apps/evince/evince_shortcuts_second.json new file mode 100644 index 00000000..7b384dbd --- /dev/null +++ b/needles/gnome/apps/evince/evince_shortcuts_second.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 495, + "ypos": 702, + "width": 36, + "height": 33, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_shortcuts_second" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_shortcuts_second.png b/needles/gnome/apps/evince/evince_shortcuts_second.png new file mode 100644 index 00000000..7fe3832a Binary files /dev/null and b/needles/gnome/apps/evince/evince_shortcuts_second.png differ diff --git a/needles/gnome/apps/evince/evince_shortcuts_second_shown.json b/needles/gnome/apps/evince/evince_shortcuts_second_shown.json new file mode 100644 index 00000000..bce55343 --- /dev/null +++ b/needles/gnome/apps/evince/evince_shortcuts_second_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "evince_shortcuts_second_shown" + ], + "area": [ + { + "xpos": 510, + "ypos": 111, + "width": 206, + "height": 25, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_shortcuts_second_shown.png b/needles/gnome/apps/evince/evince_shortcuts_second_shown.png new file mode 100644 index 00000000..c191b0ac Binary files /dev/null and b/needles/gnome/apps/evince/evince_shortcuts_second_shown.png differ diff --git a/needles/gnome/apps/evince/evince_shortcuts_shown.json b/needles/gnome/apps/evince/evince_shortcuts_shown.json new file mode 100644 index 00000000..9cd8c28f --- /dev/null +++ b/needles/gnome/apps/evince/evince_shortcuts_shown.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "evince_shortcuts_shown" + ], + "area": [ + { + "xpos": 450, + "ypos": 114, + "width": 183, + "height": 21, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_shortcuts_shown.png b/needles/gnome/apps/evince/evince_shortcuts_shown.png new file mode 100644 index 00000000..340a0e22 Binary files /dev/null and b/needles/gnome/apps/evince/evince_shortcuts_shown.png differ diff --git a/needles/gnome/apps/evince/evince_shortcuts_third.json b/needles/gnome/apps/evince/evince_shortcuts_third.json new file mode 100644 index 00000000..160455d1 --- /dev/null +++ b/needles/gnome/apps/evince/evince_shortcuts_third.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 541, + "ypos": 700, + "width": 36, + "height": 36, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_shortcuts_third" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_shortcuts_third.png b/needles/gnome/apps/evince/evince_shortcuts_third.png new file mode 100644 index 00000000..c39320f9 Binary files /dev/null and b/needles/gnome/apps/evince/evince_shortcuts_third.png differ diff --git a/needles/gnome/apps/evince/evince_shortcuts_third_shown.json b/needles/gnome/apps/evince/evince_shortcuts_third_shown.json new file mode 100644 index 00000000..11b470a8 --- /dev/null +++ b/needles/gnome/apps/evince/evince_shortcuts_third_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 570, + "ypos": 114, + "width": 141, + "height": 22, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_shortcuts_third_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_shortcuts_third_shown.png b/needles/gnome/apps/evince/evince_shortcuts_third_shown.png new file mode 100644 index 00000000..43a467a3 Binary files /dev/null and b/needles/gnome/apps/evince/evince_shortcuts_third_shown.png differ diff --git a/needles/gnome/apps/evince/evince_toggle_night_mode.json b/needles/gnome/apps/evince/evince_toggle_night_mode.json new file mode 100644 index 00000000..fdf4a2c6 --- /dev/null +++ b/needles/gnome/apps/evince/evince_toggle_night_mode.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 781, + "ypos": 450, + "width": 88, + "height": 25, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_toggle_night_mode" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/evince_toggle_night_mode.png b/needles/gnome/apps/evince/evince_toggle_night_mode.png new file mode 100644 index 00000000..1582552e Binary files /dev/null and b/needles/gnome/apps/evince/evince_toggle_night_mode.png differ diff --git a/needles/gnome/apps/evince/rotate-evince_content_rotated_twice.json b/needles/gnome/apps/evince/rotate-evince_content_rotated_twice.json new file mode 100644 index 00000000..02096d22 --- /dev/null +++ b/needles/gnome/apps/evince/rotate-evince_content_rotated_twice.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 675, + "ypos": 703, + "width": 186, + "height": 31, + "type": "match" + } + ], + "properties": [], + "tags": [ + "evince_content_rotated_twice" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/evince/rotate-evince_content_rotated_twice.png b/needles/gnome/apps/evince/rotate-evince_content_rotated_twice.png new file mode 100644 index 00000000..33f3dbc1 Binary files /dev/null and b/needles/gnome/apps/evince/rotate-evince_content_rotated_twice.png differ diff --git a/needles/gnome/gnome_burger_menu.json b/needles/gnome/gnome_burger_menu.json new file mode 100644 index 00000000..b7a920e7 --- /dev/null +++ b/needles/gnome/gnome_burger_menu.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 941, + "ypos": 46, + "width": 26, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "gnome_burger_menu" + ] +} \ No newline at end of file diff --git a/needles/gnome/gnome_burger_menu.png b/needles/gnome/gnome_burger_menu.png new file mode 100644 index 00000000..c6650204 Binary files /dev/null and b/needles/gnome/gnome_burger_menu.png differ diff --git a/needles/gnome/gnome_button_open.json b/needles/gnome/gnome_button_open.json new file mode 100644 index 00000000..c6e8c4d2 --- /dev/null +++ b/needles/gnome/gnome_button_open.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 959, + "ypos": 48, + "width": 42, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "gnome_button_open" + ] +} \ No newline at end of file diff --git a/needles/gnome/gnome_button_open.png b/needles/gnome/gnome_button_open.png new file mode 100644 index 00000000..7ae63c93 Binary files /dev/null and b/needles/gnome/gnome_button_open.png differ diff --git a/needles/gnome/gnome_button_save_blue.json b/needles/gnome/gnome_button_save_blue.json new file mode 100644 index 00000000..e6e1394d --- /dev/null +++ b/needles/gnome/gnome_button_save_blue.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gnome_button_save_blue" + ], + "area": [ + { + "xpos": 959, + "ypos": 46, + "width": 40, + "height": 20, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/gnome_button_save_blue.png b/needles/gnome/gnome_button_save_blue.png new file mode 100644 index 00000000..41e1411e Binary files /dev/null and b/needles/gnome/gnome_button_save_blue.png differ diff --git a/templates.fif.json b/templates.fif.json index ecff7f9d..faa8d42f 100644 --- a/templates.fif.json +++ b/templates.fif.json @@ -951,6 +951,21 @@ "START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%" } }, + "evince": { + "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-raw_xz-raw.xz-aarch64-*-aarch64": 22 + }, + "settings": { + "BOOTFROM": "c", + "HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2", + "POSTINSTALL_PATH": "tests/applications/evince", + "START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%" + } + }, "desktop_update_graphical": { "profiles": { "fedora-KDE-live-iso-x86_64-*-64bit": 32, diff --git a/tests/applications/evince/aaa_setup.pm b/tests/applications/evince/aaa_setup.pm new file mode 100644 index 00000000..9202d09a --- /dev/null +++ b/tests/applications/evince/aaa_setup.pm @@ -0,0 +1,68 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This script will download the test data for evince, start the application, +# and set a milestone as a starting point for the other Evince tests. +# + +sub check_and_install_git { + # Let's see if Git is installed and install it, if it isn't. + if (script_run("rpm -q git")) { + assert_script_run("dnf install -y git"); + } +} + + +sub download_testdata { + # Navigate to the test's home directory + assert_script_run("cd /home/test/"); + # Clone the test repository + assert_script_run("git clone https://pagure.io/fedora-qa/openqa_testdata.git"); + # Change ownership and attributes + assert_script_run("chown -R test:test openqa_testdata"); + # Move the test file into a correct location. + assert_script_run("cp openqa_testdata/evince/evince.pdf Documents") +} + +sub run { + my $self = shift; + # Switch to console + $self->root_console(tty=>3); + # Perform git test + check_and_install_git(); + # Download the test data + download_testdata(); + # Exit the terminal + desktop_vt; + + # Start the application + menu_launch_type("evince"); + # Check that is started + assert_screen 'apps_run_dviewer'; + + # Open the test file to create a starting point for the other Evince tests. + # Click on Open button to open the File Open Dialog + assert_and_click("evince_open_file_dialog", button => "left", timeout => 30); + + # Select the evince.pdf file. + assert_and_click("evince_file_select_pdf", button => "left", timeout => 30); + + # Click the Open button to open the file + assert_and_click("gnome_button_open", button => "left", timeout => 30); + + # Fullsize the Evince window. + send_key("super-up"); + + # Check that the file has been successfully opened. + assert_screen("evince_file_opened"); +} + +sub test_flags { + return {fatal => 1, milestone => 1}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/applications/evince/about.pm b/tests/applications/evince/about.pm new file mode 100644 index 00000000..030767d5 --- /dev/null +++ b/tests/applications/evince/about.pm @@ -0,0 +1,34 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests if About works. + +sub run { +my $self = shift; + +# Open the menu by clicking on the Burger icon +assert_and_click("gnome_burger_menu", button => "left", timeout => 30); +wait_still_screen 2; + +# In the menu, select the About item. +assert_and_click("evince_menu_about", button => "left", timeout => 30); + +# Check that the About section has been displayed. +assert_screen("evince_about_shown"); + +# Click on Credits button to see the second part of the dialogue. +assert_and_click("evince_about_credits", button => "left", timeout => 30); + +# Check that Credits are accessible and visible, too. +assert_screen("evince_credits_shown"); + +} + +sub test_flags { + # Rollback to the previous state to make space for other parts. + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/add_annotation.pm b/tests/applications/evince/add_annotation.pm new file mode 100644 index 00000000..4fd3fdbd --- /dev/null +++ b/tests/applications/evince/add_annotation.pm @@ -0,0 +1,48 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests an annotation can be added to the displayed content. + +sub run { +my $self = shift; + +# Click on the Pencil button. +assert_and_click("evince_add_annotation", button => "left", timeout => 30); + +# Click on Note text. +assert_and_click("evince_add_annotation_text", button => "left", timeout => 30); + +# Select location to add annotation. +assert_and_click("evince_select_annotation_place", button => "left", timeout => 30); + +# Enter some text to the annotation. +type_very_safely("Add note"); + +# Check that the annotation window has appeared with that text. +assert_screen("evince_annotation_added"); + +# Close the annotation. +assert_and_click("evince_close_annotation", button => "left", timeout => 30); + +# Check that the annotation is still placed in the document. +assert_screen("evince_annotation_placed"); + +# Open the annotation's context menu. +assert_and_click("evince_annotation_placed", button => "right", timeout => 30); + +# Remove the annotation. +assert_and_click("evince_remove_annotation", button => "left", timeout => 30); + +# Check that the annotation has been removed. +assert_screen("evince_annotation_removed"); + +} + +sub test_flags { + # Rollback to the starting point. + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/change_zoom.pm b/tests/applications/evince/change_zoom.pm new file mode 100644 index 00000000..93ab52a0 --- /dev/null +++ b/tests/applications/evince/change_zoom.pm @@ -0,0 +1,27 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can change the zoom of the document. + +sub run { +my $self = shift; + + +# Click on zoom menu to open choices. +assert_and_click("evince_change_zoom", button => "left", timeout => 30); + +# Select 200%. +assert_and_click("evince_select_zoom_200", button => "left", timeout => 30); + +# Check that the document zoom was changed. +assert_screen("evince_document_zoom_200"); + +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/dual_mode.pm b/tests/applications/evince/dual_mode.pm new file mode 100644 index 00000000..dbf1ba4a --- /dev/null +++ b/tests/applications/evince/dual_mode.pm @@ -0,0 +1,37 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince is able to display content in a two-page mode. + +sub run { +my $self = shift; + +# Click on the Zoom menu to change a different zoom for next steps. +assert_and_click("evince_change_zoom", button => "left", timeout => 30); + +# Select the Fit Width option to be able to see the whole layout. +assert_and_click("evince_select_zoom_fitwidth", button => "left", timeout => 30); + +#Dismiss the dialogue +send_key("esc"); + +# Enter the menu +assert_and_click("gnome_burger_menu", button => "left", timeout => 30); + +# Select the Dual mode +assert_and_click("evince_menu_dual", button => "left", timeout => 30); + +# Dismiss the menu +send_key("esc"); + +# Check that the content is displayed in dual mode. +assert_screen("evince_dual_mode", timeout => 30); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/help.pm b/tests/applications/evince/help.pm new file mode 100644 index 00000000..6735157c --- /dev/null +++ b/tests/applications/evince/help.pm @@ -0,0 +1,27 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can display the Help pages. + +sub run { +my $self = shift; + +# Open menu with Burger icon. +assert_and_click("gnome_burger_menu", button => "left", timeout => 30); +wait_still_screen 2; + +# Select the Help item in the menu. +assert_and_click("evince_menu_help", button => "left", timeout => 30); +wait_still_screen 2; + +# Check that Help has been shown. +assert_screen("evince_help_shown", timeout => 30); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/night_mode.pm b/tests/applications/evince/night_mode.pm new file mode 100644 index 00000000..d7b69506 --- /dev/null +++ b/tests/applications/evince/night_mode.pm @@ -0,0 +1,30 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can be switched into night mode. + +sub run { +my $self = shift; + +# Click on the Menu button. +assert_and_click("gnome_burger_menu", timeout => 30, button => "left"); + +# Click on the Night mode to select it. +assert_and_click("evince_toggle_night_mode", button => "left", timeout => 30); + +# The menu stays opened, so hit Esc to dismiss it. +send_key("esc"); +wait_still_screen 2; + +# Check that night mode has been activated. +assert_screen("evince_night_mode", timeout => 30); + +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/properties.pm b/tests/applications/evince/properties.pm new file mode 100644 index 00000000..e588e4d2 --- /dev/null +++ b/tests/applications/evince/properties.pm @@ -0,0 +1,27 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can show Document Properties. + +sub run { +my $self = shift; + +# Open the menu. +assert_and_click("gnome_burger_menu", button => "left", timeout => 30); +wait_still_screen 2; + +# Select the Properties item. +assert_and_click("evince_menu_properties", button => "left", timeout => 30); +wait_still_screen 2; + +# Check that Properties are shown. +assert_screen("evince_properties_shown", timeout => 30); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/rotate.pm b/tests/applications/evince/rotate.pm new file mode 100644 index 00000000..5df751e5 --- /dev/null +++ b/tests/applications/evince/rotate.pm @@ -0,0 +1,37 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can rotate the content. + +sub rotate_content { + +# Open the application menu +assert_and_click("gnome_burger_menu", button => "left", timeout => 30); + +# Click with the *left* button (needle click area might need some correction) +assert_and_click("evince_menu_rotate", button => "left", timeout => 30); +} + +sub run { +my $self = shift; + +# Rotate the content once. +rotate_content(); + +# Check that the window content has been rotated. +assert_screen("evince_content_rotated_once", timeout => 30); + +# Rotate the content again. +rotate_content(); + +# Check that the window content has been rotated. +assert_screen("evince_content_rotated_twice", timeout => 30); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/save_as.pm b/tests/applications/evince/save_as.pm new file mode 100644 index 00000000..aca7091b --- /dev/null +++ b/tests/applications/evince/save_as.pm @@ -0,0 +1,36 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests tests that Evince can Save the document As another document. + +sub run { +my $self = shift; + +# Open the menu. +assert_and_click("gnome_burger_menu", button => "left", timeout => 30); + +# Select Save As +assert_and_click("evince_menu_saveas", button => "left", timeout => 30); + +# Type a new name. +type_very_safely("alternative"); + +# Click on the Save button +assert_and_click("gnome_button_save_blue", button => "left", timeout => 30); + +# Now the document is saved under a different name. We will switch to the +# terminal console to check that it has been created. +$self->root_console(tty=>3); +assert_script_run("ls /home/test/Documents/alternative.pdf"); + +# Now, check that the new file does not differ from the original one. +assert_script_run("diff /home/test/Documents/evince.pdf /home/test/Documents/alternative.pdf"); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/search.pm b/tests/applications/evince/search.pm new file mode 100644 index 00000000..14a9de78 --- /dev/null +++ b/tests/applications/evince/search.pm @@ -0,0 +1,28 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests the ability to search string in the text. + +sub run { +my $self = shift; + +# Click on the Search button to search for text +assert_and_click("evince_search_button", button => "left", timeout => 30); + +# Type *pages*. +type_very_safely("pages"); +# Press Enter. +send_key("ret"); + +# Check that the typed text has been found. +assert_screen("evince_search_found", timeout => 30); + +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/evince/shortcuts.pm b/tests/applications/evince/shortcuts.pm new file mode 100644 index 00000000..44963a32 --- /dev/null +++ b/tests/applications/evince/shortcuts.pm @@ -0,0 +1,39 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince displays shortcuts. + +sub run { +my $self = shift; + +# Open the menu +assert_and_click("gnome_burger_menu", button => "left", timeout => 30); +wait_still_screen 2; + +# Select the Keyboard Shortcuts item +assert_and_click("evince_menu_shortcuts", button => "left", timeout => 30); +wait_still_screen 2; + +# Check that Shortcuts has been shown +assert_screen("evince_shortcuts_shown"); + +# Click on number 2 to arrive to the second page +assert_and_click("evince_shortcuts_second", button => "left", timeout => 30); + +# Check that Shortcuts 2 has been shown +assert_screen("evince_shortcuts_second_shown"); + +# Click on number 3 to arrive to the second page +assert_and_click("evince_shortcuts_third", button => "left", timeout => 30); + +# Check that Shortcuts 3 has been shown +assert_screen("evince_shortcuts_third_shown"); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1;