2022-02-24 06:03:41 +08:00
## Install tests
* install a **previous version** on a clean machine (a clean machine doesn't have the `%localappdata%\Microsoft\PowerToys` folder)
* open the Settings and for each module change at least one option
* open the FancyZones editor and create two custom layouts:
* a canvas layout with 2 zones, use unicode chars in the layout's name
* one from grid template using 4 zones and splitting one zone
* apply the custom canvas layout to the primary desktop
* create a virtual desktop and apply the custom grid layout
* if you have a second monitor apply different templates layouts for the primary desktop and for the second virtual desktop
* install the new version (it will uninstall the old version and install the new version)
2022-02-24 16:50:55 +08:00
- [x] verify the settings are preserved and FancyZones configuration is still the same
2022-02-24 06:03:41 +08:00
## Functional tests
Regressions:
2022-02-24 16:57:18 +08:00
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
2022-02-24 06:03:41 +08:00
## Localization
Change the Winodws language to a language different than English. Then verify if the following screens change their language:
2022-02-24 07:33:30 +08:00
- [x] System tray menu items
- [x] Settings
- [x] OOBE (What's new)
- [x] Keyboard Manager Editor
- [x] Color Picker (check the tooltips)
- [x] FancyZones Editor
- [x] Power Rename (new WinUI 3 may not be localized)
- [x] PowerToys Run ("Start typing" string is localized, for example)
- [x] Image Resizer
- [x] Shortcut Guide (Windows controls are localized)
- [x] File Explorer menu entries for Image Resizer and Power Rename
2022-02-24 06:03:41 +08:00
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
2022-02-24 07:27:38 +08:00
- [x] when PowerToys is running unelevated on start-up
- [x] when PowerToys is running as admin on start-up
- [x] when PowerToys is restarted as admin, by clicking the restart as admin button in the settings
- [x] Change `Activate Color Picker shortcut` and check the new shortcut is working
- [x] Try all three `Activation behavior` s(`Color Picker with editor mode enabled`, `Editor` , `Color Picker only` )
- [x] Change `Color format for clipboard` and check if the correct format is copied from the Color picker
- [x] Try to copy color formats to the clipboard from the Editor
- [x] Check `Show color name` and verify if color name is shown in the Color picker
- [x] Enable one new format, disable one existing format, reorder enabled formats and check if settings are populated to the Editor
- [x] Select a color from the history in the Editor
- [x] Remove color from the history in the Editor
- [x] Open the Color Picker from the Editor
- [x] Open Adjust color from the Editor
- [x] Check Color Picker logs for errors
2022-02-24 06:03:41 +08:00
## FancyZones Editor
2022-02-24 07:27:38 +08:00
- [x] Open editor from the settings
- [x] Open editor with a shortcut
- [x] Create a new layout (grid and canvas)
- [x] Duplicate a template and a custom layout
- [x] Delete layout
- [X] Edit templates (number of zones, spacing, distance to highlight adjacent zones). Verify after reopening the editor that saved settings are kept the same.
- [x] Edit canvas layout: zones size and position, create or delete zones.
- [x] Edit grid layout: split, merge, resize zones.
- [x] Check `Save and apply` and `Cancel` buttons behavior after editing.
- [x] Assign a layout to each monitor.
- [x] Assign keys to quickly switch layouts (custom layouts only), `Win + Ctrl + Alt + number` .
2022-02-24 06:03:41 +08:00
## FancyZones
2022-02-24 07:27:38 +08:00
- [x] Switch between `Allow zones to span across monitors` on and off. Verify that layouts are applied correctly in both cases.
- [x] Change zone colors and opacity.
- [x] Exclude some apps, verify that they're not applicable to a zone.
- [X] Launch PT in user mode, try to assign a window with administrator privileges to a zone. Verify the notification is shown.
- [x] Launch PT in administrator mode, assign a window with administrator privileges.
- [x] Create virtual desktop, verify that there are the same layouts as applied to the previous virtual desktop.
- [x] After creating a virtual desktop apply another layout or edit the applied one. Verify that the other virtual desktop layout wasn't changed.
- [x] Delete an applied custom layout in the Editor, verify that there is no layout applied instead of it.
2022-02-24 06:03:41 +08:00
* Switch between layouts with quick keys.
2022-02-24 07:27:38 +08:00
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
2022-02-24 06:03:41 +08:00
* Change screen resolution or scaling.
2022-02-24 07:27:38 +08:00
- [x] Assign grid layout, verify that the assigned layout fits the screen.
2022-02-24 06:03:41 +08:00
NOTE: canvas layout could not fit the screen if it was created on a monitor with a different resolution.
2022-02-24 07:27:38 +08:00
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.
2022-02-24 06:03:41 +08:00
* Test layout resetting.
Before testing
* Remove all virtual desktops
* Remove `CurrentVirtualDesktop` from `\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\VirtualDesktops`
* Remove `VirtualDesktopIDs` from `\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VirtualDesktops`
2022-02-24 07:27:38 +08:00
- [x] Test screen locking
2022-02-24 06:03:41 +08:00
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
2022-02-24 07:27:38 +08:00
- [x] Test restart
2022-02-24 06:03:41 +08:00
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## Image Resizer
2022-02-24 07:27:38 +08:00
- [x] Disable the Image Resizer and check that `Resize images` is absent in the context menu
- [x] Enable the Image Resizer and check that `Resize images` is present in the context menu
- [x] 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
- [x] Resize one image
- [x] Resize multiple images
- [x] Open the image resizer to resize a `.gif` file and verify the "Gif files with animations may not be correctly resized." warning appears.
- [x] Resize images with `Fill` option
- [x] Resize images with `Fit` option
- [x] Resize images with `Stretch` option
- [x] Resize images using dimension: Centimeters
- [x] Resize images using dimension: Inches
- [x] Resize images using dimension: Percents
- [x] Resize images using dimension: Pixels
- [x] Change `Filename format` to `%1 - %2 - %3 - %4 - %5 - %6` and check if the new format is applied to resized images
- [x] Check `Use original date modified` and verify that modified date is not changed for resized images. Take into account that `Resize the original pictures(don't create copy)` should be selected
- [x] Check `Make pictures smaller but not larger` and verify that smaller pictures are not resized
- [x] Check `Resize the original pictures (don't create copies)` and verify that the original picture is resized and a copy is not created
- [x] 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
2022-02-24 06:03:41 +08:00
## PowerRename
2022-02-24 17:29:09 +08:00
- [x] Check if disable and enable of the module works.
- [x] Check that with the `Show icon on context menu` icon is shown and vice versa.
- [x] Check if `Appear only in extended context menu` works.
- [x] Enable/disable autocomplete.
- [x] Enable/disable `Show values from last use` .
2022-02-24 06:03:41 +08:00
* Select several files and folders and check PowerRename options:
2022-02-24 17:29:09 +08:00
- [x] Make Uppercase/Lowercase/Titlecase (could be selected only one at the time)
- [x] Exclude Folders/Files/Subfolder Items (could be selected several)
- [x] Item Name/Extension Only (one at the time)
- [x] Enumerate Items
- [x] Case Sensitive
- [x] 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 the `Search` for text in the file name will be replaced (left to right).
2022-02-24 06:03:41 +08:00
* Use regular expressions
2022-02-24 17:29:09 +08:00
- [x] Search with an expression (e.g. `(.*).png` )
- [x] Replace with an expression (e.g. `foo_$1.png` )
- [x] Replace using file creation date and time (e.g. `$hh-$mm-$ss-$fff` `$DD_$MMMM_$YYYY` )
- [x] Turn on `Use Boost library` and test with Perl Regular Expression Syntax (e.g. `(?<=t)est` )
2022-02-24 06:03:41 +08:00
* File list filters.
2022-02-24 17:29:09 +08:00
- [x] In the `preview` window uncheck some items to exclude them from renaming.
- [x] Click on the `Renamed` column to filter results.
- [x] Click on the `Original` column to cycle between checked and unchecked items.
2022-02-24 06:03:41 +08:00
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
2022-02-24 16:27:35 +08:00
- [x] when PowerToys is running unelevated on start-up
- [x] when PowerToys is running as admin on start-up
- [x] when PowerToys is restarted as admin, by clicking the restart as admin button in settings.
2022-02-24 06:03:41 +08:00
* Check that each of the plugins is working:
2022-02-24 16:27:35 +08:00
- [x] Program - launch a Win32 application
- [x] Program - launch a Win32 application as admin
- [x] Program - launch a packaged application
- [x] Calculator - ensure a mathematical input returns a correct response and is copied on enter.
- [x] Windows Search - open a file on the disk.
- [x] Windows Search - find a file and copy file path.
- [x] Windows Search - find a file and open containing folder.
- [x] Shell - execute a command. Enter the action keyword `>` , followed by the query, both with and without space (e.g. `> ping localhost` ).
- [x] Folder - Search and open a sub-folder on entering the path.
- [x] Uri - launch a web page on entering the uri.
- [x] Window walker - Switch focus to a running window.
- [x] Service - start, stop, restart windows service. Enter the action keyword `!` to get the list of services.
- [x] Registry - navigate through the registry tree and open registry editor. Enter the action keyword `:` to get the root keys.
- [x] Registry - navigate through the registry tree and copy key path.
- [x] System - test `lock` .
- [x] System - test `empty recycle bin` .
- [x] System - test `shutdown` .
- [x] Disable PT Run and ensure that the hotkey doesn't bring up PT Run.
- [x] Test tab navigation.
2022-02-24 06:03:41 +08:00
* Test Plugin Manager
2022-02-24 16:27:35 +08:00
- [x] Enable/disable plugins and verify changes are picked up by PT Run
- [x] Change `Direct activation phrase` and verify changes are picked up by PT Run
- [x] Change `Include in global result` and verify changes picked up by PT Run
- [x] Clear `Direct activation phrase` and uncheck `Include in global result` . Verify a warning message is shown.
- [x] Disable all plugins and verify the warning message is shown.
2022-02-24 06:03:41 +08:00
## Shortcut Guide
* Run PowerToys as user:
2022-02-24 07:30:03 +08:00
- [x] Verify `Win + Shift + /` opens the guide
- [x] Change the hotkey to a different shortcut (e.g. `Win + /` ) and verify it works
- [x] Set Shortcut Guide to start with a Windows key press and verify it works.
2022-02-24 06:03:41 +08:00
* Restore the `Win + Shift + /` hotkey.
2022-02-24 07:30:03 +08:00
- [x] Open the guide and close it pressing `Esc`
- [x] Open the guide and close it pressing and releasing the `Win` key
2022-02-24 06:03:41 +08:00
* With PowerToys running as a user, open an elevated app and keep it on foreground:
2022-02-24 07:30:03 +08:00
- [X] Verify `Win + Shift + /` opens the guide
- [x] Verify some of the shortcuts shown in the guide work and the guide is closed when pressed
2022-02-24 06:03:41 +08:00
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
2022-02-24 07:38:20 +08:00
- [x] Start PowerToys and verify OOBE opens
2022-02-24 06:03:41 +08:00
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
2022-02-24 07:38:20 +08:00
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
2022-02-24 06:03:41 +08:00
* Visit each OOBE section and for each section:
2022-02-24 07:38:20 +08:00
- [x] open the Settings for that module
- [x] verify the Settings work as expected (toggle some controls on/off etc.)
- [x] close the Settings
- [x] if it's available, test the `Launch module name` button
2022-02-24 06:03:41 +08:00
* Close OOBE
2022-02-24 07:38:20 +08:00
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
2022-02-24 06:03:41 +08:00
## VCM
2022-02-24 17:35:51 +08:00
- [x] Check "Hide toolbar when both camera and micrphone are unmuted" and verify that it works
- [x] Uncheck it, mute the microphone with the hotkey and make sure the toolbar doesn't hide after a timeout
- [x] Go to some video conference application settings, e.g. meet.google.com, Microsoft Teams, Skype. "Select PowerToys VideoConference Mute" camera as an active device and try to mute it with a hotkey
- [x] Go to Control Panel -> Sound -> Recording -> select default mic -> open its properties -> Levels. Now mute the microphone with a corresponding hotkey and verify that mute icon on the right side of volume slider reflects its muted status.
- [x] Verify that changing "toolbar position" setting works
- [x] Select an overlay image and verify that muting camera now shows the image instead of black screen. (Don't forget to restart the application which uses the camera).
- [x] Try to select an overlay image when PT process is elevated. (Currently doesn't work)
2022-02-24 06:03:41 +08:00
## Always on Top
2022-02-24 07:42:28 +08:00
- [x] Pin/unpin a window, verify it's topmost/not topmost.
- [x] Pin/unpin a window, verify the border appeared/disappeared.
- [x] Switch virtual desktop, verify border doesn't show up on another desktop.
- [x] Minimize and maximize pinned window, verify the border looks as usual.
- [x] Change border color and thickness.
- [x] Verify if sound is played according to the sound setting.
- [x] Exclude app, try to pin it.
- [x] Exclude already pinned app, verify it was unpinned.
- [x] Try to pin the app in the Game Mode.