diff --git a/neon/needles/kcm/kcm-screenlocker-appearance-type-color.json b/neon/needles/kcm/kcm-screenlocker-appearance-type-color.json new file mode 100644 index 0000000..7955d63 --- /dev/null +++ b/neon/needles/kcm/kcm-screenlocker-appearance-type-color.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 24, + "match": 95, + "type": "match", + "width": 87, + "xpos": 492, + "ypos": 416 + } + ], + "properties": [], + "tags": [ + "kcm-screenlocker-appearance-type-color" + ] +} + diff --git a/neon/needles/kcm/kcm-screenlocker-appearance-type-color.png b/neon/needles/kcm/kcm-screenlocker-appearance-type-color.png new file mode 100644 index 0000000..e1aead6 Binary files /dev/null and b/neon/needles/kcm/kcm-screenlocker-appearance-type-color.png differ diff --git a/neon/needles/kcm/kcm-screenlocker-appearance-type.json b/neon/needles/kcm/kcm-screenlocker-appearance-type.json new file mode 100644 index 0000000..fa9568d --- /dev/null +++ b/neon/needles/kcm/kcm-screenlocker-appearance-type.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 24, + "match": 95, + "type": "match", + "width": 63, + "xpos": 493, + "ypos": 314 + } + ], + "properties": [], + "tags": [ + "kcm-screenlocker-appearance-type" + ] +} + diff --git a/neon/needles/kcm/kcm-screenlocker-appearance-type.png b/neon/needles/kcm/kcm-screenlocker-appearance-type.png new file mode 100644 index 0000000..2345d88 Binary files /dev/null and b/neon/needles/kcm/kcm-screenlocker-appearance-type.png differ diff --git a/neon/needles/kcm/kcm-screenlocker-appearance.json b/neon/needles/kcm/kcm-screenlocker-appearance.json new file mode 100644 index 0000000..cc2a3ae --- /dev/null +++ b/neon/needles/kcm/kcm-screenlocker-appearance.json @@ -0,0 +1,25 @@ +{ + "area": [ + { + "height": 36, + "match": 95, + "type": "match", + "width": 227, + "xpos": 242, + "ypos": 192 + }, + { + "height": 20, + "match": 95, + "type": "match", + "width": 80, + "xpos": 318, + "ypos": 247 + } + ], + "properties": [], + "tags": [ + "kcm-screenlocker-appearance" + ] +} + diff --git a/neon/needles/kcm/kcm-screenlocker-appearance.png b/neon/needles/kcm/kcm-screenlocker-appearance.png new file mode 100644 index 0000000..de882b7 Binary files /dev/null and b/neon/needles/kcm/kcm-screenlocker-appearance.png differ diff --git a/neon/needles/plasma_folder/folder-desktop-color.json b/neon/needles/plasma_folder/folder-desktop-color.json new file mode 100644 index 0000000..ee70d2d --- /dev/null +++ b/neon/needles/plasma_folder/folder-desktop-color.json @@ -0,0 +1,26 @@ +{ + "area": [ + { + "height": 35, + "match": 95, + "type": "match", + "width": 305, + "xpos": 0, + "ypos": 733 + }, + { + "height": 342, + "match": 95, + "type": "match", + "width": 602, + "xpos": 329, + "ypos": 330 + } + ], + "properties": [], + "tags": [ + "folder-desktop", + "folder-desktop-color" + ] +} + diff --git a/neon/needles/plasma_folder/folder-desktop-color.png b/neon/needles/plasma_folder/folder-desktop-color.png new file mode 100644 index 0000000..f7afa62 Binary files /dev/null and b/neon/needles/plasma_folder/folder-desktop-color.png differ diff --git a/neon/needles/plasma_folder/plasma-context-config-folder.json b/neon/needles/plasma_folder/plasma-context-config-folder.json new file mode 100644 index 0000000..3f097a2 --- /dev/null +++ b/neon/needles/plasma_folder/plasma-context-config-folder.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 24, + "match": 95, + "type": "match", + "width": 147, + "xpos": 403, + "ypos": 666 + } + ], + "properties": [], + "tags": [ + "plasma-context-config-folder" + ] +} + diff --git a/neon/needles/plasma_folder/plasma-context-config-folder.png b/neon/needles/plasma_folder/plasma-context-config-folder.png new file mode 100644 index 0000000..0cc71d1 Binary files /dev/null and b/neon/needles/plasma_folder/plasma-context-config-folder.png differ diff --git a/neon/needles/plasma_folder/plasma-folder-config-folder-background-color.json b/neon/needles/plasma_folder/plasma-folder-config-folder-background-color.json new file mode 100644 index 0000000..c2666b5 --- /dev/null +++ b/neon/needles/plasma_folder/plasma-folder-config-folder-background-color.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 22, + "match": 95, + "type": "match", + "width": 230, + "xpos": 270, + "ypos": 123 + } + ], + "properties": [], + "tags": [ + "plasma-folder-config-folder-background" + ] +} + diff --git a/neon/needles/plasma_folder/plasma-folder-config-folder-background-color.png b/neon/needles/plasma_folder/plasma-folder-config-folder-background-color.png new file mode 100644 index 0000000..3a48ec3 Binary files /dev/null and b/neon/needles/plasma_folder/plasma-folder-config-folder-background-color.png differ diff --git a/neon/needles/plasma_folder/plasma-folder-config-folder-background.json b/neon/needles/plasma_folder/plasma-folder-config-folder-background.json new file mode 100644 index 0000000..4c014f2 --- /dev/null +++ b/neon/needles/plasma_folder/plasma-folder-config-folder-background.json @@ -0,0 +1,8 @@ +{ + "area": [], + "properties": [], + "tags": [ + "plasma-folder-config-folder-background-color" + ] +} + diff --git a/neon/needles/plasma_folder/plasma-folder-config-folder-background.png b/neon/needles/plasma_folder/plasma-folder-config-folder-background.png new file mode 100644 index 0000000..8854e3d Binary files /dev/null and b/neon/needles/plasma_folder/plasma-folder-config-folder-background.png differ diff --git a/neon/needles/plasma_folder/plasma-folder-config-folder-color.json b/neon/needles/plasma_folder/plasma-folder-config-folder-color.json new file mode 100644 index 0000000..cb712b1 --- /dev/null +++ b/neon/needles/plasma_folder/plasma-folder-config-folder-color.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 22, + "match": 95, + "type": "match", + "width": 112, + "xpos": 266, + "ypos": 225 + } + ], + "properties": [], + "tags": [ + "plasma-folder-config-folder-background-color" + ] +} + diff --git a/neon/needles/plasma_folder/plasma-folder-config-folder-color.png b/neon/needles/plasma_folder/plasma-folder-config-folder-color.png new file mode 100644 index 0000000..688a7cd Binary files /dev/null and b/neon/needles/plasma_folder/plasma-folder-config-folder-color.png differ diff --git a/neon/needles/plasma_lockscreen/plasma-locked-idle.json b/neon/needles/plasma_lockscreen/plasma-locked-idle-wallpaper.json similarity index 100% copy from neon/needles/plasma_lockscreen/plasma-locked-idle.json copy to neon/needles/plasma_lockscreen/plasma-locked-idle-wallpaper.json diff --git a/neon/needles/plasma_lockscreen/plasma-locked-idle.png b/neon/needles/plasma_lockscreen/plasma-locked-idle-wallpaper.png similarity index 100% copy from neon/needles/plasma_lockscreen/plasma-locked-idle.png copy to neon/needles/plasma_lockscreen/plasma-locked-idle-wallpaper.png diff --git a/neon/needles/plasma_lockscreen/plasma-locked-idle.json b/neon/needles/plasma_lockscreen/plasma-locked-idle.json index 993e96e..06ef731 100644 --- a/neon/needles/plasma_lockscreen/plasma-locked-idle.json +++ b/neon/needles/plasma_lockscreen/plasma-locked-idle.json @@ -1,20 +1,19 @@ { "area": [ { "height": 353, "match": 95, "type": "match", "width": 1024, "xpos": 0, "ypos": 414 } ], - "properties": [ - - ], + "properties": [], "tags": [ "plasma-locked-idle", "plasma-locked", "ENV-TYPE-devedition-gitunstable" ] } + diff --git a/neon/needles/plasma_lockscreen/plasma-locked-idle.png b/neon/needles/plasma_lockscreen/plasma-locked-idle.png index 63ec951..27e3960 100644 Binary files a/neon/needles/plasma_lockscreen/plasma-locked-idle.png and b/neon/needles/plasma_lockscreen/plasma-locked-idle.png differ diff --git a/neon/tests/plasma/plasma_favorite.pm b/neon/tests/plasma/plasma_favorite.pm index b6550ef..8c940d1 100644 --- a/neon/tests/plasma/plasma_favorite.pm +++ b/neon/tests/plasma/plasma_favorite.pm @@ -1,62 +1,55 @@ # Copyright (C) 2018 Bhavisha Dhruve # Copyright (C) 2016-2018 Harald Sitter # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License or (at your option) version 3 or any later version # accepted by the membership of KDE e.V. (or its successor approved # by the membership of KDE e.V.), which shall act as a proxy # defined in Section 14 of version 3 of the license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . use base "basetest_neon"; use strict; use testapi; sub run { assert_screen 'folder-desktop'; - # Temporary hack to see if disabling compositing is able to make the needles - # pass. Working theory is that translucency is screwing the matching degree. - x11_start_program 'konsole'; - assert_screen 'konsole'; - type_string 'qdbus org.kde.KWin /Compositor org.kde.kwin.Compositing.suspend'; - send_key 'ret'; - # Starts the Application Launcher assert_and_click 'kickoff'; wait_still_screen; # Switches to the Application Tab assert_screen 'kickoff-favorite'; assert_and_click 'kickoff-application'; assert_and_click 'kickoff-office'; # Adds Okular in the favorites tab assert_and_click 'kickoff-okular', 'right'; assert_and_click 'kickoff-add-to-favorite'; assert_screen 'kickoff-favorite-okular'; # Removes Okular from the favorites tab assert_and_click 'kickoff-favorite-okular', 'right'; assert_and_click 'kickoff-remove-from-favorite'; assert_screen ['kickoff-favorite-okular', 'kickoff-favorite'], 60; if (match_has_tag('kickoff-favorite-okular')) { die 'Okular should not be visible on the favorite tab' } } sub test_flags { # without anything - rollback to 'lastgood' snapshot if failed # 'fatal' - whole test suite is in danger if this fails # 'milestone' - after this test succeeds, update 'lastgood' # 'important' - if this fails, set the overall state to 'fail' return { important => 1 }; } 1; diff --git a/neon/tests/plasma/plasma_folder.pm b/neon/tests/plasma/plasma_folder.pm index 00e4299..b08d74c 100644 --- a/neon/tests/plasma/plasma_folder.pm +++ b/neon/tests/plasma/plasma_folder.pm @@ -1,60 +1,73 @@ # Copyright (C) 2016-2018 Harald Sitter # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License or (at your option) version 3 or any later version # accepted by the membership of KDE e.V. (or its successor approved # by the membership of KDE e.V.), which shall act as a proxy # defined in Section 14 of version 3 of the license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . use base "basetest_neon"; use strict; use testapi; sub run { my ($self) = @_; $self->boot; # We are now logged in... # wait for the desktop to appear # Technically we'd want to make sure the desktop appears in under 30s but # since we can't make sure that is in fact the baseline we can't really do # that :/ # >30s would be indicative of a dbus timeout. assert_screen 'folder-desktop', 30; # 5.12 is the last version to have standard icons on desktop. So, only check # for them there. if (match_has_tag('folder-desktop-512')) { assert_and_click "home-icon"; assert_screen 'dolphin', 10; send_key 'alt-f4'; assert_screen 'folder-desktop', 8; } # While unstable installs are still on older plasmas this can be a soft # failure, should become hard in April 2018 if I remember. if ($ENV{TYPE} eq 'devedition-gitunstable' && match_has_tag('folder-desktop-512')) { record_soft_failure "Screen had Plasma 5.12 icons but unstable should't have them!" } + + # TODO: move to first_start.pm + # we'd assert the wallpaper once and then switch to static color only + mouse_set 400, 300; + mouse_click 'right'; + assert_and_click 'plasma-context-config-folder'; + assert_and_click 'plasma-folder-config-folder-background'; + assert_and_click 'plasma-folder-config-folder-background-color'; + # Should the deafault ever become undesirable: #1d99f3 is the lovely color. + assert_and_click 'kcm-ok'; + + # Should now be lovely blue. + assert_screen 'folder-desktop-color'; } sub test_flags { # without anything - rollback to 'lastgood' snapshot if failed # 'fatal' - whole test suite is in danger if this fails # 'milestone' - after this test succeeds, update 'lastgood' # 'important' - if this fails, set the overall state to 'fail' return { important => 1 }; } 1; diff --git a/neon/tests/plasma/plasma_lockscreen.pm b/neon/tests/plasma/plasma_lockscreen.pm index 7776cdb..788d572 100644 --- a/neon/tests/plasma/plasma_lockscreen.pm +++ b/neon/tests/plasma/plasma_lockscreen.pm @@ -1,108 +1,118 @@ # Copyright (C) 2016-2017 Harald Sitter # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License or (at your option) version 3 or any later version # accepted by the membership of KDE e.V. (or its successor approved # by the membership of KDE e.V.), which shall act as a proxy # defined in Section 14 of version 3 of the license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . use base "basetest_neon"; use strict; use testapi; sub lock_screen { hold_key('ctrl'); hold_key('alt'); hold_key('l'); assert_screen('plasma-locked'); release_key('l'); release_key('alt'); release_key('ctrl'); } sub run { # Before we start the lock screen test make sure we aren't logged in on # our terminal. # Otherwise the tty6 session would show up in the switch and make results # unreliable. select_console 'log-console'; script_run 'exit', 0; reset_consoles; select_console 'x11'; + # TODO: move to first_start.pm we want static colors. probably not necessary + # to assert the default appearance? + x11_start_program 'kcmshell5 screenlocker' ; + assert_screen 'kcm-screenlocker'; + assert_and_click 'kcm-screenlocker-appearance'; + assert_and_click 'kcm-screenlocker-appearance-type'; + assert_and_click 'kcm-screenlocker-appearance-type-color'; + # Should the deafault ever become undesirable: #1d99f3 is the lovely color. + assert_and_click 'kcm-ok'; + lock_screen; # simple unlock type_password $testapi::password; send_key 'ret'; assert_screen 'folder-desktop', 60; lock_screen; assert_screen('plasma-locked-idle'); mouse_set(1, 1); mouse_hide; # virtual keyboard assert_and_click 'plasma-locked-keyboard-icon'; assert_screen 'plasma-locked-keyboard'; assert_and_click 'plasma-locked-keyboard-q'; assert_and_click 'plasma-locked-keyboard-q'; # qq in password field assert_screen 'plasma-locked-keyboard-qq', no_wait => 1; send_key 'backspace'; send_key 'backspace'; assert_and_click 'plasma-locked-keyboard-icon-active'; assert_screen 'plasma-locked'; # switch user assert_and_click 'plasma-locked-switch-icon'; assert_and_click 'plasma-locked-switch'; assert_screen 'sddm'; type_password $testapi::password; send_key 'ret'; # ugh, sddm has no way to get us back, start a new session? wait_still_screen; assert_and_click 'kickoff', undef, 60; # 60 seconds since we don't assert desktop assert_and_click 'kickoff-leave'; assert_and_click 'kickoff-leave-logout'; assert_and_click 'ksmserver-logout'; wait_still_screen; # we are back in our regular session, unlock and be happy # done unless (get_var("QEMUVGA") eq 'qxl') { # This is confirmed to not be a problem on qxl. Should we switch to # other VGAs in the future we'll know if they are exhibiting the # problem too as we only skip qxl. record_soft_failure 'kscreenlocker comes back with vkbd bug 387270'; assert_and_click 'plasma-locked-keyboard-icon-active'; } type_password $testapi::password; send_key 'ret'; assert_screen 'folder-desktop', 60; } sub test_flags { # without anything - rollback to 'lastgood' snapshot if failed # 'fatal' - whole test suite is in danger if this fails # 'milestone' - after this test succeeds, update 'lastgood' # 'important' - if this fails, set the overall state to 'fail' return { important => 1 }; } 1;