## 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) - [ ] verify the settings are preserved and FancyZones configuration is still the same ## Functional tests Regressions: - [ ] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038 - [ ] https://github.com/microsoft/PowerToys/issues/1524 ## Localization Change the Winodws language to a language different than English. Then verify if the following screens change their language: - [ ] System tray menu items - [ ] Settings - [ ] OOBE (What's new) - [ ] Keyboard Manager Editor - [ ] Color Picker (check the tooltips) - [ ] FancyZones Editor - [ ] Power Rename (new WinUI 3 may not be localized) - [ ] PowerToys Run ("Start typing" string is localized, for example) - [ ] Image Resizer - [ ] Shortcut Guide (Windows controls are localized) - [ ] File Explorer menu entries for Image Resizer and Power Rename ## General Settings **Admin mode:** - [ ] restart PT and verify it runs as user - [ ] restart as admin and set "Always run as admin" - [ ] restart PT and verify it runs as admin * if it's not on, turn on "Run at startup" - [ ] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog) * turn Always run as admin" off - [ ] reboot the machine and verify it now runs as user **Modules on/off:** - [ ] turn off all the modules and verify all module are off - [ ] restart PT and verify that all module are still off in the settings page and they are actually inactive - [ ] turn on all the module, all module are now working - [ ] restart PT and verify that all module are still on in the settings page and they are actually working ## Color Picker * Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker - [ ] 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 the settings - [ ] Change `Activate Color Picker shortcut` and check the new shortcut is working - [ ] Try all three `Activation behavior`s(`Color Picker with editor mode enabled`, `Editor`, `Color Picker only`) - [ ] Change `Color format for clipboard` and check if the correct format is copied from the Color picker - [ ] Try to copy color formats to the clipboard from the Editor - [ ] Check `Show color name` and verify if color name is shown in the Color picker - [ ] Enable one new format, disable one existing format, reorder enabled formats and check if settings are populated to the Editor - [ ] Select a color from the history in the Editor - [ ] Remove color from the history in the Editor - [ ] Open the Color Picker from the Editor - [ ] Open Adjust color from the Editor - [ ] Check Color Picker logs for errors ## FancyZones Editor - [ ] Open editor from the settings - [ ] Open editor with a shortcut - [ ] Create a new layout (grid and canvas) - [ ] Duplicate a template and a custom layout - [ ] Delete layout - [ ] Edit templates (number of zones, spacing, distance to highlight adjacent zones). Verify after reopening the editor that saved settings are kept the same. - [ ] Edit canvas layout: zones size and position, create or delete zones. - [ ] Edit grid layout: split, merge, resize zones. - [ ] Check `Save and apply` and `Cancel` buttons behavior after editing. - [ ] Assign a layout to each monitor. - [ ] Assign keys to quickly switch layouts (custom layouts only), `Win + Ctrl + Alt + number`. ## FancyZones - [ ] Switch between `Allow zones to span across monitors` on and off. Verify that layouts are applied correctly in both cases. - [ ] Change zone colors and opacity. - [ ] Exclude some apps, verify that they're not applicable to a zone. - [ ] Launch PT in user mode, try to assign a window with administrator privileges to a zone. Verify the notification is shown. - [ ] Launch PT in administrator mode, assign a window with administrator privileges. - [ ] Create virtual desktop, verify that there are the same layouts as applied to the previous virtual desktop. - [ ] After creating a virtual desktop apply another layout or edit the applied one. Verify that the other virtual desktop layout wasn't changed. - [ ] Delete an applied custom layout in the Editor, verify that there is no layout applied instead of it. * Open `Task view` , right-click on the window, check the `Show this window on all desktops` or the `Show windows from this app on all desktops` option to turn it on. - [ ] Turn Show this window on all desktops on, verify you can snap this window to a zone. - [ ] Turn Show windows from this app on all desktops on, verify you can snap this window to a zone. * Switch between layouts with quick keys. - [ ] Switch with `Win` + `Ctrl` + `Alt` + `key` - [ ] Switch with just a key while dragging a window. * Change screen resolution or scaling. - [ ] Assign grid layout, verify that the assigned layout fits the screen. NOTE: canvas layout could not fit the screen if it was created on a monitor with a different resolution. - [ ] Disable FZ - [ ] Re-enable FZ, verify that everything is in the same state as it was before disabling. * 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` - [ ] Test screen locking * Set custom layouts on each monitor * Lock screen / unplug monitor / plug monitor * Verify that layouts weren't reset to defaults - [ ] Test restart * Set custom layouts on each monitor * Restart the computer * Verify that layouts weren't reset to defaults ## Shortcut Guide * Run PowerToys as user: - [ ] Verify `Win + Shift + /` opens the guide - [ ] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works - [ ] Set Shortcut Guide to start with a Windows key press and verify it works. * Restore the `Win + Shift + /` hotkey. - [ ] Open the guide and close it pressing `Esc` - [ ] Open the guide and close it pressing and releasing the `Win` key * With PowerToys running as a user, open an elevated app and keep it on foreground: - [ ] Verify `Win + Shift + /` opens the guide - [ ] Verify some of the shortcuts shown in the guide work and the guide is closed when pressed ## VCM - [ ] Check "Hide toolbar when both camera and micrphone are unmuted" and verify that it works - [ ] Uncheck it, mute the microphone with the hotkey and make sure the toolbar doesn't hide after a timeout - [ ] 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 - [ ] 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. - [ ] Verify that changing "toolbar position" setting works - [ ] 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). - [ ] Try to select an overlay image when PT process is elevated. ## Always on Top - [ ] Pin/unpin a window, verify it's topmost/not topmost. - [ ] Pin/unpin a window, verify the border appeared/disappeared. - [ ] Switch virtual desktop, verify border doesn't show up on another desktop. - [ ] Minimize and maximize pinned window, verify the border looks as usual. - [ ] Change border color and thickness. - [ ] Verify if sound is played according to the sound setting. - [ ] Exclude app, try to pin it. - [ ] Exclude already pinned app, verify it was unpinned. - [ ] Try to pin the app in the Game Mode.