8.5 KiB
Functional tests
Regressions:
- https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- https://github.com/microsoft/PowerToys/issues/1524
File Explorer Add-ons
- Running as user:
- go to PowerToys repo root
- verify the README.md Preview Pane shows the correct content
- go to PowerToys repo and visit src\runner\svgs
- verify Preview Pane works for the SVG files
- verify the Icon Preview works for the SVG file (loop through different icon preview sizes)
- Running as admin:
- open the Settings and turn off the Preview Pane and Icon Previous toggles
- go to PowerToys repo root
- verify the README.md Preview Pane doesn't show any content
- go to PowerToys repo and visit src\runner\svgs
- verify Preview Pane doesn't show the preview for the SVG files
- the Icon Preview for the existing SVG will still show since the icons are cached
- copy and paste one of the SVG file and verify the new file show the generic SVG icon
Image Resizer
-
Disable the Image Resizer and check that
Resize images
is absent in the context menu -
Enable the Image Resizer and check that
Resize images
is present in the context menu -
Remove one image size and add a custom image size. Open the Image Resize window from the context menu and verify that changes are populated
-
Resize one image
-
Resize multiple images
-
Resize images with
Fill
option -
Resize images with
Fit
option -
Resize images with
Stretch
option -
Resize images using dimension: Centimeters
-
Resize images using dimension: Inches
-
Resize images using dimension: Percents
-
Resize images using dimension: Pixels
-
Change
Filename format
to%1 - %2 - %3 - %4 - %5 - %6
and check if the new format is applied to resized images -
Check
Use original date modified
and verify that modified date is not changed for resized images -
Check
Make pictures smaller but not larger
and verify that smaller pictures are not resized -
Check
Resize the original pictures (don't create copies)
and verify that the original picture is resized and a copy is not created -
Uncheck
Ignore the orientation of pictures
and verify that swapped width and height will actually resize a picture if the width is not equal to the height
Keyboard Manager
UI Validation:
- In Remap keys, add and remove rows to validate those buttons. While the blank rows are present, pressing the OK button should result in a warning dialog that some mappings are invalid.
- Using only the Type buttons, for both the remap windows, try adding keys/shortcuts in all the columns. The right-side column in both windows should accept both keys and shortcuts, while the left-side column will accept only keys or only shortcuts for Remap keys and Remap shortcuts respectively. Validate that the Hold Enter and Esc accessibility features work as expected.
- Using the drop downs try to add key to key, key to shortcut, shortcut to key and shortcut to shortcut remapping and ensure that you are able to select remapping both by using mouse and by keyboard navigation.
- Validate that remapping can be saved by pressing the OK button and re-opening the windows loads existing remapping.
Remapping Validation:
For all the remapping below, try pressing and releasing the remapped key/shortcut and pressing and holding it. Try different behaviors like releasing the modifier key before the action key and vice versa.
- Test key to key remapping
- A->B
- Ctrl->A
- A->Ctrl
- Win->B (make sure Start menu doesn't appear accidentally)
- B->Win (make sure Start menu doesn't appear accidentally)
- A->Disable
- Win->Disable
- Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
- Test app-specific remaps
- Similar remaps to above with Edge, VSCode (entered as code) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- Test switching between remapping while holding down modifiers - Eg. Ctrl+D->Ctrl+A and Ctrl+E->Ctrl+V, hold Ctrl and press D followed by E. Should select all and paste over it in a text editor. Similar steps for Windows key shortcuts.
PowerRename
- Check if disable and enable of the module works.
- Check that with the
Show icon on context menu
icon is shown and vice versa. - Check if
Appear only in extended context menu
works. - Enable/disable autocomplete.
- Enable/disable
Show values from last use
.
- Select several files and folders and check PowerRename options:
- Make Uppercase/Lowercase/Titlecase (could be selected only one at the time)
- Exclude Folders/Files/Subfolder Items (could be selected several)
- Item Name/Extension Only (one at the time)
- Enumerate Items
- Case Sensitive
- Match All Occurrences. If checked, all matches of text in the
Search
field will be replaced with the Replace text. Otherwise, only the first instance of theSearch
for text in the file name will be replaced (left to right).
- Use regular expressions
- Search with an expression (e.g.
(.*).png
) - Replace with an expression (e.g.
foo_$1.png
) - Replace using file creation date and time (e.g.
$hh-$mm-$ss-$fff
$DD_$MMMM_$YYYY
) - Turn on
Use Boost library
and test with Perl Regular Expression Syntax (e.g.(?<=t)est
)
- Search with an expression (e.g.
- File list filters.
- In the
preview
window uncheck some items to exclude them from renaming. - Click on the
Renamed
column to filter results. - Click on the
Original
column to cycle between checked and unchecked items.
- In the
PowerToys Run
- Enable PT Run in settings and ensure that the hotkey brings up PT Run
- when PowerToys is running unelevated on start-up
- when PowerToys is running as admin on start-up
- when PowerToys is restarted as admin, by clicking the restart as admin button in settings.
- Check that each of the plugins is working:
- Program - launch a Win32 application
- Program - launch a Win32 application as admin
- Program - launch a packaged application
- Calculator - ensure a mathematical input returns a correct response and is copied on enter.
- Windows Search - open a file on the disk.
- Windows Search - find a file and copy file path.
- Windows Search - find a file and open containing folder.
- Shell - execute a command. Enter the action keyword
>
, followed by the query, both with and without space (e.g.> ping localhost
). - Folder - Search and open a sub-folder on entering the path.
- Uri - launch a web page on entering the uri.
- Window walker - Switch focus to a running window.
- Service - start, stop, restart windows service. Enter the action keyword
!
to get the list of services. - Registry - navigate through the registry tree and open registry editor. Enter the action keyword
:
to get the root keys. - Registry - navigate through the registry tree and copy key path.
- System - test
lock
. - System - test
empty recycle bin
. - System - test
shutdown
.
-
Disable PT Run and ensure that the hotkey doesn't bring up PT Run.
-
Test tab navigation.
- Test Plugin Manager
- Enable/disable plugins and verify changes are picked up by PT Run
- Change
Direct activation phrase
and verify changes are picked up by PT Run - Change
Include in global result
and verify changes picked up by PT Run - Clear
Direct activation phrase
and uncheckInclude in global result
. Verify a warning message is shown. - Disable all plugins and verify the warning message is shown.
OOBE
- Quit PowerToys
- Delete %localappdata%\Microsoft\PowerToys
- Start PowerToys and verify OOBE opens
- Visit each OOBE section and for each section:
- open the Settings for that module
- verify the Settings work as expected (toggle some controls on/off etc.)
- close the Settings
- if it's available, test the
Launch module name
button
- Close OOBE
- Open the Settings and from the General page open OOBE using the
Welcome to PowerToys
link