Create a test for KDE KCalc.
22
needles/kde/apps/kcalc/about-kcalc_about_shown-20241113.json
Normal 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"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/about-kcalc_about_shown-20241113.png
Normal file
After Width: | Height: | Size: 413 KiB |
15
needles/kde/apps/kcalc/about-kcalc_authors-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 542,
|
||||
"ypos": 281,
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_authors"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/about-kcalc_authors-20241113.png
Normal file
After Width: | Height: | Size: 504 KiB |
@ -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"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/about-kcalc_authors_shown-20241113.png
Normal file
After Width: | Height: | Size: 398 KiB |
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 360,
|
||||
"ypos": 325,
|
||||
"width": 95,
|
||||
"height": 15,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_submenu_about"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/about-kcalc_submenu_about-20241113.png
Normal file
After Width: | Height: | Size: 442 KiB |
15
needles/kde/apps/kcalc/about-kde_mainmenu_help-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 353,
|
||||
"ypos": 140,
|
||||
"width": 36,
|
||||
"height": 21,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kde_mainmenu_help"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/about-kde_mainmenu_help-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/help-kcalc_help_shown-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 350,
|
||||
"ypos": 170,
|
||||
"width": 200,
|
||||
"height": 24,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_help_shown"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/help-kcalc_help_shown-20241113.png
Normal file
After Width: | Height: | Size: 301 KiB |
15
needles/kde/apps/kcalc/kcalc_button_add-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 551,
|
||||
"ypos": 394,
|
||||
"width": 21,
|
||||
"height": 24,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_add"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_add-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_button_bclose-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 714,
|
||||
"ypos": 489,
|
||||
"width": 17,
|
||||
"height": 22,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_bclose"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_bclose-20241113.png
Normal file
After Width: | Height: | Size: 414 KiB |
15
needles/kde/apps/kcalc/kcalc_button_bopen-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 713,
|
||||
"ypos": 425,
|
||||
"width": 17,
|
||||
"height": 28,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_bopen"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_bopen-20241113.png
Normal file
After Width: | Height: | Size: 412 KiB |
15
needles/kde/apps/kcalc/kcalc_button_div-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 344,
|
||||
"ypos": 309,
|
||||
"width": 22,
|
||||
"height": 19,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_div"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_div-20241113.png
Normal file
After Width: | Height: | Size: 411 KiB |
15
needles/kde/apps/kcalc/kcalc_button_divider-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 346,
|
||||
"ypos": 309,
|
||||
"width": 17,
|
||||
"height": 17,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_divider"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_divider-20241113.png
Normal file
After Width: | Height: | Size: 413 KiB |
15
needles/kde/apps/kcalc/kcalc_button_eight-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 340,
|
||||
"ypos": 364,
|
||||
"width": 25,
|
||||
"height": 25,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_eight"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_eight-20241113.png
Normal file
After Width: | Height: | Size: 361 KiB |
15
needles/kde/apps/kcalc/kcalc_button_equals-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 552,
|
||||
"ypos": 515,
|
||||
"width": 19,
|
||||
"height": 22,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_equals"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_equals-20241113.png
Normal file
After Width: | Height: | Size: 414 KiB |
15
needles/kde/apps/kcalc/kcalc_button_five-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 344,
|
||||
"ypos": 425,
|
||||
"width": 22,
|
||||
"height": 24,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_five"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_five-20241113.png
Normal file
After Width: | Height: | Size: 361 KiB |
15
needles/kde/apps/kcalc/kcalc_button_four-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 238,
|
||||
"ypos": 426,
|
||||
"width": 25,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_four"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_four-20241113.png
Normal file
After Width: | Height: | Size: 412 KiB |
15
needles/kde/apps/kcalc/kcalc_button_multi-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 447,
|
||||
"ypos": 309,
|
||||
"width": 23,
|
||||
"height": 21,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_multi"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_multi-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_button_nine-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 446,
|
||||
"ypos": 366,
|
||||
"width": 22,
|
||||
"height": 22,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_nine"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_nine-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_button_one-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 241,
|
||||
"ypos": 486,
|
||||
"width": 18,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_one"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_one-20241113.png
Normal file
After Width: | Height: | Size: 411 KiB |
15
needles/kde/apps/kcalc/kcalc_button_percent-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 237,
|
||||
"ypos": 304,
|
||||
"width": 25,
|
||||
"height": 25,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_percent"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_percent-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_button_seven-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 241,
|
||||
"ypos": 365,
|
||||
"width": 19,
|
||||
"height": 24,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_seven"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_seven-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_button_six-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 446,
|
||||
"ypos": 423,
|
||||
"width": 21,
|
||||
"height": 26,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_six"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_six-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_button_sub-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 550,
|
||||
"ypos": 310,
|
||||
"width": 22,
|
||||
"height": 16,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_sub"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_sub-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_button_three-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 446,
|
||||
"ypos": 483,
|
||||
"width": 20,
|
||||
"height": 25,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_three"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_three-20241113.png
Normal file
After Width: | Height: | Size: 413 KiB |
15
needles/kde/apps/kcalc/kcalc_button_two-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 344,
|
||||
"ypos": 485,
|
||||
"width": 19,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_two"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_two-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_button_zero-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 292,
|
||||
"ypos": 546,
|
||||
"width": 19,
|
||||
"height": 19,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_button_zero"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_button_zero-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_result_3LAG3-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 798,
|
||||
"ypos": 184,
|
||||
"width": 25,
|
||||
"height": 22,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_result_3LAG3"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_result_3LAG3-20241113.png
Normal file
After Width: | Height: | Size: 412 KiB |
15
needles/kde/apps/kcalc/kcalc_result_Czo4s-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 795,
|
||||
"ypos": 185,
|
||||
"width": 27,
|
||||
"height": 21,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_result_Czo4s"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_result_Czo4s-20241113.png
Normal file
After Width: | Height: | Size: 412 KiB |
15
needles/kde/apps/kcalc/kcalc_result_b5y2B-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 786,
|
||||
"ypos": 186,
|
||||
"width": 35,
|
||||
"height": 19,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_result_b5y2B"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_result_b5y2B-20241113.png
Normal file
After Width: | Height: | Size: 412 KiB |
15
needles/kde/apps/kcalc/kcalc_result_h7MfO-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 800,
|
||||
"ypos": 187,
|
||||
"width": 24,
|
||||
"height": 18,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_result_h7MfO"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_result_h7MfO-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_result_tWshx-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 799,
|
||||
"ypos": 188,
|
||||
"width": 23,
|
||||
"height": 17,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_result_tWshx"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_result_tWshx-20241113.png
Normal file
After Width: | Height: | Size: 360 KiB |
15
needles/kde/apps/kcalc/kcalc_result_uC8Ul-20241113.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 804,
|
||||
"ypos": 184,
|
||||
"width": 22,
|
||||
"height": 22,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"kcalc_result_uC8Ul"
|
||||
]
|
||||
}
|
BIN
needles/kde/apps/kcalc/kcalc_result_uC8Ul-20241113.png
Normal file
After Width: | Height: | Size: 411 KiB |
@ -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,
|
||||
|
26
tests/applications/kcalc/aaa_setup.pm
Normal 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:
|
||||
|
31
tests/applications/kcalc/about.pm
Normal 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:
|
||||
|
30
tests/applications/kcalc/help.pm
Normal 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:
|
||||
|
97
tests/applications/kcalc/kcalc.pm
Normal 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:
|
||||
|