1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-12-04 19:13:08 +00:00

Create a test for KDE KCalc.

This commit is contained in:
Lukas Ruzicka 2024-11-12 14:43:27 +01:00 committed by Lukáš Růžička
parent 9608e7945b
commit 130a3ec14c
68 changed files with 676 additions and 0 deletions

View File

@ -170,9 +170,11 @@ for button in ("div", "divider", "zero", "one", "two", "three", "four", "five",
"six","seven", "eight", "nine", "mod", "percent", "pi", "root",
"square", "sub"):
testtags.append(f"calc_button_{button}")
testtags.append(f"kcalc_button_{button}")
for result in ("BokZw", "Czo4s", "O9qsL", "WIxiR", "b5y2B", "h7MfO", "qxuBK",
"tWshx", "uC8Ul", "3LAG3"):
testtags.append(f"calc_result_{result}")
testtags.append(f"kcalc_result_{result}")
# Needles for Contacts
for hashname in ("jlJmL", "7XGzO", "ps61y", "OvXj~", "GqYOp", "VEFrP"):
testtags.append(f"contacts_name_{hashname}")

View File

@ -0,0 +1,22 @@
{
"area": [
{
"xpos": 404,
"ypos": 223,
"width": 51,
"height": 24,
"type": "match"
},
{
"xpos": 362,
"ypos": 273,
"width": 56,
"height": 27,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_about_shown"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 542,
"ypos": 281,
"width": 48,
"height": 16,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_authors"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 KiB

View File

@ -0,0 +1,22 @@
{
"area": [
{
"xpos": 358,
"ypos": 348,
"width": 136,
"height": 25,
"type": "match"
},
{
"xpos": 362,
"ypos": 416,
"width": 169,
"height": 20,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_authors_shown"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 360,
"ypos": 325,
"width": 95,
"height": 15,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_submenu_about"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 353,
"ypos": 140,
"width": 36,
"height": 21,
"type": "match"
}
],
"properties": [],
"tags": [
"kde_mainmenu_help"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 350,
"ypos": 170,
"width": 200,
"height": 24,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_help_shown"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 551,
"ypos": 394,
"width": 21,
"height": 24,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_add"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 714,
"ypos": 489,
"width": 17,
"height": 22,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_bclose"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 713,
"ypos": 425,
"width": 17,
"height": 28,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_bopen"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 344,
"ypos": 309,
"width": 22,
"height": 19,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_div"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 346,
"ypos": 309,
"width": 17,
"height": 17,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_divider"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 340,
"ypos": 364,
"width": 25,
"height": 25,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_eight"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 552,
"ypos": 515,
"width": 19,
"height": 22,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_equals"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 344,
"ypos": 425,
"width": 22,
"height": 24,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_five"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 238,
"ypos": 426,
"width": 25,
"height": 20,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_four"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 447,
"ypos": 309,
"width": 23,
"height": 21,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_multi"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 446,
"ypos": 366,
"width": 22,
"height": 22,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_nine"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 241,
"ypos": 486,
"width": 18,
"height": 20,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_one"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 237,
"ypos": 304,
"width": 25,
"height": 25,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_percent"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 241,
"ypos": 365,
"width": 19,
"height": 24,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_seven"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 446,
"ypos": 423,
"width": 21,
"height": 26,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_six"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 550,
"ypos": 310,
"width": 22,
"height": 16,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_sub"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 446,
"ypos": 483,
"width": 20,
"height": 25,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_three"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 344,
"ypos": 485,
"width": 19,
"height": 20,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_two"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 292,
"ypos": 546,
"width": 19,
"height": 19,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_button_zero"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 798,
"ypos": 184,
"width": 25,
"height": 22,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_result_3LAG3"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 795,
"ypos": 185,
"width": 27,
"height": 21,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_result_Czo4s"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 786,
"ypos": 186,
"width": 35,
"height": 19,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_result_b5y2B"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 800,
"ypos": 187,
"width": 24,
"height": 18,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_result_h7MfO"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 799,
"ypos": 188,
"width": 23,
"height": 17,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_result_tWshx"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 804,
"ypos": 184,
"width": 22,
"height": 22,
"type": "match"
}
],
"properties": [],
"tags": [
"kcalc_result_uC8Ul"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

View File

@ -1269,6 +1269,17 @@
"START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%"
}
},
"kcalc": {
"profiles": {
"fedora-KDE-live-iso-x86_64-*-64bit": 30
},
"settings": {
"BOOTFROM": "c",
"HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2",
"POSTINSTALL_PATH": "tests/applications/kcalc",
"START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%"
}
},
"maps": {
"profiles": {
"fedora-Silverblue-dvd_ostree-iso-ppc64le-*-ppc64le": 50,

View File

@ -0,0 +1,26 @@
use base "installedtest";
use strict;
use testapi;
use utils;
# This script starts the KCalc application
# and saves the milestone for the consequtive
# tests.
sub run {
my $self = shift;
# Run the application
menu_launch_type("kcalc");
assert_screen("kcalc_runs");
# wait for system to settle before snapshotting
sleep 10;
}
sub test_flags {
return {fatal => 1, milestone => 1};
}
1;
# vim: set sw=4 et:

View File

@ -0,0 +1,31 @@
use base "installedtest";
use strict;
use testapi;
use utils;
# This script checks that Gnome Calculator shows About.
sub run {
my $self = shift;
# Let's wait until everything settles down properly
# before we start testing.
sleep 5;
# Open the menu and click on the About item.
assert_and_click("kde_mainmenu_help");
wait_still_screen(2);
assert_and_click("kcalc_submenu_about");
# Check that it is shown.
assert_screen("kcalc_about_shown");
# Click on the Credits button and check that it shows.
assert_and_click("kcalc_authors");
assert_screen("kcalc_authors_shown");
}
sub test_flags {
return {always_rollback => 1};
}
1;
# vim: set sw=4 et:

View File

@ -0,0 +1,30 @@
use base "installedtest";
use strict;
use testapi;
use utils;
# This script checks that Gnome Calculator shows help.
sub run {
my $self = shift;
# Wait until everything settles.
sleep 5;
# Open Help
send_key("f1");
wait_still_screen(2);
# Check that Help opens.
assert_screen("kcalc_help_shown");
# Rest of the documentation is currently
# unavailable.
}
sub test_flags {
return {always_rollback => 1};
}
1;
# vim: set sw=4 et:

View File

@ -0,0 +1,97 @@
use base "installedtest";
use strict;
use testapi;
use utils;
# This script checks that KCalc works in Basic mode.
# This subroutine rewrites the number into a word.
sub rewrite {
my $number = shift;
my %numbers = (
0 => 'zero',
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
5 => 'five',
6 => 'six',
7 => 'seven',
8 => 'eight',
9 => 'nine',
"." => 'divider',
"%" => 'percent',
);
my $rewritten = $numbers{$number};
return $rewritten;
}
# This subroutine performs the clicking of simple operations
# in the KCalc.
sub calculate {
my ($a, $b, $operation) = @_;
# Create lists of the numbers.
my @first = split('', $a);
my @second = split('', $b);
# For each digit of the first number, click on
# the corresponding button.
foreach (@first) {
my $word = rewrite($_);
assert_and_click("kcalc_button_$word");
}
# Click the operation button.
assert_and_click("kcalc_button_$operation");
# For each digit of the second number, click on
# the corresponding button.
foreach (@second) {
my $word = rewrite($_);
assert_and_click("kcalc_button_$word");
}
# Click on the Equals button
assert_and_click("kcalc_button_equals");
# Assert the result has appeared on the screen.
my $identifier = hashed_string("$a-$operation-$b");
assert_screen("kcalc_result_$identifier");
# Clear the display.
send_key("esc");
}
sub run {
my $self = shift;
# Wait until everything settles.
sleep 5;
# Check that two numbers can be added.
calculate("10", "23", "add");
# Check that two numbers can be subtracted.
calculate("67", "45", "sub");
# Check that two numbers can be multiplied.
calculate("9", "0.8", "multi");
# Check that two numbers can be divided.
calculate("77", "7", "div");
# Check that you can use percents
calculate("33%", "90", "multi");
# Check that you can use brackets
assert_and_click("kcalc_button_three");
assert_and_click("kcalc_button_multi");
assert_and_click("kcalc_button_bopen");
assert_and_click("kcalc_button_two");
assert_and_click("kcalc_button_add");
assert_and_click("kcalc_button_three");
assert_and_click("kcalc_button_bclose");
assert_and_click("kcalc_button_equals");
my $identifier = hashed_string("3*(3+2)");
assert_screen("kcalc_result_$identifier");
send_key("esc");
}
sub test_flags {
return {fatal => 1};
}
1;
# vim: set sw=4 et: