mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-11 09:49:22 +08:00
Additional tests
This commit is contained in:
parent
61934d8f6a
commit
1282a131ff
@ -190,3 +190,215 @@ For all the remapping below, try pressing and releasing the remapped key/shortcu
|
|||||||
- [ ] Test with win32 app
|
- [ ] Test with win32 app
|
||||||
- [ ] Test with packaged app
|
- [ ] Test with packaged app
|
||||||
|
|
||||||
|
## Additional tests
|
||||||
|
## 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`.
|
||||||
|
- [ ] Assign horizontal and vertical default layouts
|
||||||
|
- [ ] Test duplicate layout focus
|
||||||
|
* Select any layout X in 'Templates' or 'Custom' section by click left mouse button
|
||||||
|
* Mouse right button click on any layout Y in 'Templates' or 'Custom' sections
|
||||||
|
* Duplicate it by clicking 'Create custom layout' (Templates section) or 'Duplicate' in 'Custom' section
|
||||||
|
* Expect the layout Y is duplicated
|
||||||
|
|
||||||
|
## FancyZones
|
||||||
|
|
||||||
|
### Appearance
|
||||||
|
- [ ] Change colors, opacity and `Show zone number` options. Verify they're applied.
|
||||||
|
|
||||||
|
### Excluded apps
|
||||||
|
- [ ] Exclude some apps, verify that they're not applicable to a zone.
|
||||||
|
|
||||||
|
### Dragging
|
||||||
|
- [ ] `Hold Shift key to activate zones while dragging` on, `Use a non-primary mouse button to toggle zone activation` off. Start dragging a window, then press shift. Zones are shown when dragging a window with shift pressed, hidden when you released shift or snapped zone.
|
||||||
|
- [ ] `Hold Shift key to activate zones while dragging` on, `Use a non-primary mouse button to toggle zone activation` off. Press shift first, then start dragging a window. Zones are shown when dragging a window with shift pressed, hidden when you released shift or snapped zone.
|
||||||
|
- [ ] `Hold Shift key to activate zones while dragging` off, `Use a non-primary mouse button to toggle zone activation` on. Zones are shown immediately when dragging a window and hidden when you click a non-primary mouse button or press shift.
|
||||||
|
- [ ] `Hold Shift key to activate zones while dragging` off, `Use a non-primary mouse button to toggle zone activation` off. Zones are shown immediately when dragging a window, hidden when you press shift.
|
||||||
|
- [ ] `Hold Shift key to activate zones while dragging` on, `Use a non-primary mouse button to toggle zone activation` on. Zones aren't shown immediately, only when shift is pressed or when a non-primary mouse click changes the state.
|
||||||
|
- [ ] `Show zones on all monitor whilw dragging a window` - turn on,off, verify behavior.
|
||||||
|
- [ ] Create a canvas layout with overlapping zones, check zone activation behavior with all `When multiple zones overlap` options
|
||||||
|
- [ ] `Make dragged window transparent` - turn on, off, verify behavior
|
||||||
|
|
||||||
|
### Snapping
|
||||||
|
Disable FZ and clear `app-zone-history.json` before starting. FancyZones should be disabled, otherwise, it'll save cashed values back to the file.
|
||||||
|
|
||||||
|
- [ ] Snap a window to a zone by dragging, verify `app-zone-history.json` contains info about the window position on the corresponding work area.
|
||||||
|
- [ ] Snap a window to a zone by a keyboard shortcut, verify `app-zone-history.json` contains info about the window position on the corresponding work area.
|
||||||
|
- [ ] Snap a window to another monitor, verify `app-zone-history.json` contains positions about zones on both monitors.
|
||||||
|
- [ ] Snap a window to several zones, verify zone numbers in the json file are correct.
|
||||||
|
- [ ] Snap a window to a zone, unsnap it, verify this app was removed from the json file.
|
||||||
|
- [ ] Snap the same window to a zone on two different monitors or virtual desktops. Then unsnap from one of them, verify that info about unsnapped zone was removed from `app-zone-history.json`. Verify info about the second monitor/virtual desktop is kept.
|
||||||
|
- [ ] Enable `Restore the original size of windows when unsnapping`, snap window, unsnap window, verify the window changed its size to original.
|
||||||
|
- [ ] Disable `Restore the original size of windows when unsnapping`, snap window, unsnap window, verify window size wasn't changed.
|
||||||
|
- [ ] Disable `Restore the original size of windows when unsnapping`, snap window, enable `Restore the original size of windows when unsnapping`, unsnap window, verify window size wasn't changed.
|
||||||
|
- [ ] 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.
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
### Snapped window behavior
|
||||||
|
- [ ] `Keep windows in their zones when the screen resolution changes` on, snap a window to a zone, change the screen resolution or scaling, verify window changed its size and position.
|
||||||
|
- [ ] `Keep windows in their zones when the screen resolution changes` on, snap a window to a zone on the secondary monitor. Disconnect the secondary monitor (the window will be moved to the primary monitor). Reconnect the secondary monitor. Verify the window returned to its zone.
|
||||||
|
- [ ] `Keep windows in their zones when the screen resolution changes` off, snap a window to a zone, change the screen resolution or scaling, verify window didn't change its size and position.
|
||||||
|
|
||||||
|
Enable `During zone layout changes, windows assigned to a zone will match new size/positions` and prepare layouts with 1 and 3 zones where zone size/positions are different.
|
||||||
|
- [ ] Snap a window to zone 1, change the layout, verify window changed its size/position.
|
||||||
|
- [ ] Snap a window to zone 3, change the layout, verify window didn't change its size/position because another layout doesn't have a zone with this zone number.
|
||||||
|
- [ ] Snap a window to zones 1-2, change the layout, verify window changed its size/position to fit zone 1.
|
||||||
|
- [ ] Snap a window to zones 1-2, change the layout (the window will be snapped to zone 1), then return back to the previous layout, verify the window snapped to 1-2 zones.
|
||||||
|
- [ ] Disable `During zone layout changes, windows assigned to a zone will match new size/positions`, snap window to zone 1, change layout, verify window didn't change its size/position
|
||||||
|
|
||||||
|
Enable `Move newly created windows to their last known zone`.
|
||||||
|
- [ ] Snap a window to the primary monitor, close and reopen the window. Verify it's snapped to its zone.
|
||||||
|
- [ ] Snap a window to zones on the primary and secondary monitors. Close and reopen the app. Verify it's snapped to the zone on the active monitor.
|
||||||
|
- [ ] Snap a window to the secondary monitor (use a different app or unsnap the window from the zone on the primary monitor), close and reopen the window. Verify it's snapped to its zone.
|
||||||
|
- [ ] Snap a window, turn off FancyZones, move that window, turn FZ on. Verify window returned to its zone.
|
||||||
|
- [ ] Move unsnapped window to a secondary monitor, switch virtual desktop and return back. Verify window didn't change its position and size.
|
||||||
|
- [ ] Snap a window, then resize it (it's still snapped, but doesn't fit the zone). Switch the virtual desktop and return back, verify window didn't change its size.
|
||||||
|
|
||||||
|
Enable `Move newly created windows to the current active monitor`.
|
||||||
|
- [ ] Open a window that wasn't snapped anywhere, verify it's opened on the active monitor.
|
||||||
|
- [ ] Open a window that was snapped on the current virtual desktop and current monitor, verify it's opened in its zone.
|
||||||
|
- [ ] Open a window that was snappen on the current virtual desktop and another monitor, verify it's opened on the active monitor.
|
||||||
|
- [ ] Open a window that was snapped on another virtual desktop, verify it's opened on the active monitor.
|
||||||
|
|
||||||
|
- [ ] Enable `Allow popup windows snapping` and `Allow child windows snapping`, try to snap Notepad++ search window. Verify it can be snapped.
|
||||||
|
- [ ] Enable `Allow popup windows snapping`, snap Teams, verify a popup window appears in its usual position.
|
||||||
|
- [ ] Enable `Allow popup windows snapping`, snap Visual Studio Code to a zone, and open any menu. Verify the menu is where it's supposed to be and not on the top left corner of the zone.
|
||||||
|
- [ ] Enable `Allow child windows snapping`, drag any child window (e.g. Solution Explorer), verify it can be snapped to a zone.
|
||||||
|
- [ ] Disable `Allow child windows snapping`, drag any child window (e.g. Solution Explorer), verify it can't be snapped to a zone.
|
||||||
|
|
||||||
|
### Switch between windows in the current zone
|
||||||
|
Enable `Switch between windows in the current zone` (default shortcut is `Win + PgUp/PgDown`)
|
||||||
|
- [ ] Snap several windows to one zone, verify switching works.
|
||||||
|
- [ ] Snap several windows to one zone, switch virtual desktop, return back, verify window switching works.
|
||||||
|
- [ ] Disable `Switch between windows in the current zone`, verify switching doesn't work.
|
||||||
|
|
||||||
|
### Override Windows Snap
|
||||||
|
- [ ] Disable `Override Windows Snap`, verify it's disabled.
|
||||||
|
|
||||||
|
Enable `Override Windows Snap`.
|
||||||
|
Select Move windows based on `Zone index`.
|
||||||
|
- [ ] Open the previously not snapped window, press `Win`+`LeftArrow` / `Win`+`RightArrow`, verify it's snapped to a first/last zone.
|
||||||
|
- [ ] Verify `Win`+`LeftArrow` moves the window to a zone with the previous index.
|
||||||
|
- [ ] Verify `Win`+`RightArrow` moves the window to a zone with the next index.
|
||||||
|
- [ ] Verify `Win`+`ArrowUp` and `Win`+`ArrowDown` work as usual.
|
||||||
|
|
||||||
|
- [ ] `Move windows between zones across all monitors` disabled. Verify `Win`+`LeftArrow` doesn't move the window to any zone when the window is in the first zone.
|
||||||
|
- [ ] `Move windows between zones across all monitors` disabled. Verify `Win`+`RightArrow` doesn't move the window to any zone when the window is in the last zone.
|
||||||
|
|
||||||
|
One monitor:
|
||||||
|
- [ ] `Move windows between zones across all monitors` enabled. Verify `Win`+`LeftArrow` doesn't move the window to any zone when the window is in the first zone.
|
||||||
|
- [ ] `Move windows between zones across all monitors` enabled. Verify `Win`+`RightArrow` doesn't move the window to any zone when the window is in the last zone.
|
||||||
|
|
||||||
|
Two and more monitors:
|
||||||
|
- [ ] `Move windows between zones across all monitors` enabled. Verify `Win`+`LeftArrow` cycles window position moving it from the first zone on the current monitor to the last zone of the left (or rightmost, if the current monitor is leftmost) monitor.
|
||||||
|
- [ ] `Move windows between zones across all monitors` enabled. Verify `Win`+`RightArrow` cycles window position moving it from the last zone on the current monitor to the first zone of the right (or leftmost, if the current monitor is rightmost) monitor.
|
||||||
|
|
||||||
|
Select Move windows based on `Relative position`.
|
||||||
|
- [ ] Open the previously not snapped window, press `Win`+`Arrow`, verify it's snapped.
|
||||||
|
- [ ] Extend the window using `Ctrl`+`Alt`+`Win`+`Arrow`. Verify the window is snapped to all zones.
|
||||||
|
- [ ] Extend the window using `Ctrl`+`Alt`+`Win`+`Arrow` and return it back using the opposite arrow. Verify it could be reverted while you hold `Ctrl`+`Alt`+`Win`.
|
||||||
|
|
||||||
|
- [ ] `Move windows between zones across all monitors` disabled. Verify `Win`+`LeftArrow` cycles the window position to the left (from the leftmost zone moves to the rightmost in the same row) within one monitor.
|
||||||
|
- [ ] `Move windows between zones across all monitors` disabled. Verify `Win`+`RightArrow` cycles the window position to the right within one monitor.
|
||||||
|
- [ ] `Move windows between zones across all monitors` disabled. Verify `Win`+`UpArrow` cycles the window position up within one monitor.
|
||||||
|
- [ ] `Move windows between zones across all monitors` disabled. Verify `Win`+`DownArrow` cycles the window position down within one monitor.
|
||||||
|
|
||||||
|
- [ ] `Move windows between zones across all monitors` enabled. Verify `Win`+`LeftArrow` cycles the window position to the left (from the leftmost zone moves to the rightmost in the same row) within all monitors.
|
||||||
|
- [ ] `Move windows between zones across all monitors` enabled. Verify `Win`+`RightArrow` cycles the window position to the right within all monitors.
|
||||||
|
- [ ] `Move windows between zones across all monitors` enabled. Verify `Win`+`UpArrow` cycles the window position up within all monitors.
|
||||||
|
- [ ] `Move windows between zones across all monitors` enabled. Verify `Win`+`DownArrow` cycles the window position down within all monitors.
|
||||||
|
|
||||||
|
### Layout apply
|
||||||
|
Enable `Enable quick layout switch`, assign numbers to custom layouts.
|
||||||
|
- [ ] Switch with `Win` + `Ctrl` + `Alt` + `key`.
|
||||||
|
- [ ] Switch with just a key while dragging a window.
|
||||||
|
- [ ] Turn `Flash zones when switching layout` on/off, verify it's flashing/not flashing after pressing the shortcut.
|
||||||
|
- [ ] Disable `Enable quick layout switch`, verify shortcuts don't work.
|
||||||
|
- [ ] Disable spacing on any grid layout, verify that there is no space between zones while dragging a window.
|
||||||
|
- [ ] Create a new 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.
|
||||||
|
- [ ] Apply a grid layout, change the screen resolution or scaling, 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.
|
||||||
|
|
||||||
|
### Layout reset
|
||||||
|
* 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
|
||||||
|
|
||||||
|
- [ ] Test applying default layouts on reset
|
||||||
|
* Set default horizontal and vertical layouts
|
||||||
|
* Delete `applied-layouts.json`
|
||||||
|
* Verify that selected default layout is applied according to configuration
|
||||||
|
|
||||||
|
### Span zones across monitors
|
||||||
|
- [ ] Switch between `Allow zones to span across monitors` on and off. Verify that layouts are applied correctly in both cases.
|
||||||
|
|
||||||
|
Repeat the previous subsections steps after enabling `Allow zones to span across monitors`
|
||||||
|
- [ ] Dragging
|
||||||
|
- [ ] Snapping
|
||||||
|
- [ ] Snapped window behavior
|
||||||
|
- [ ] Switch between windows in the current zone
|
||||||
|
- [ ] Override Windows Snap
|
||||||
|
- [ ] Layout apply
|
||||||
|
- [ ] Layout reset
|
||||||
|
|
||||||
|
## 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\modules\ShortcutGuide\ShortcutGuide\svgs
|
||||||
|
- [ ] verify Preview Pane works for the SVG files
|
||||||
|
- [ ] verify the Icon Preview works for the SVG file (loop through different icon preview sizes)
|
||||||
|
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-PdfPreviewHandler\HelperFiles
|
||||||
|
- [ ] verify Preview Pane works for the PDF file
|
||||||
|
- [ ] verify the Icon Preview works for the PDF file (loop through different icon preview sizes)
|
||||||
|
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
|
||||||
|
- [ ] verify Preview Pane works for the gcode file
|
||||||
|
- [ ] verify the Icon Preview works for the gcode file (loop through different icon preview sizes)
|
||||||
|
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
|
||||||
|
- [ ] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
|
||||||
|
* go to PowerToys repo and visit src\runner
|
||||||
|
- [ ] verify Preview Pane works for source files (shows syntax highlighting)
|
||||||
|
* Running as admin (or user since recently):
|
||||||
|
* 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\modules\ShortcutGuide\ShortcutGuide\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 (you can also use `cleanmgr.exe` to clean all thumbnails cached in your system). You may need to restart the machine for this setting to apply as well.
|
||||||
|
- [ ] copy and paste one of the SVG file and verify the new file show the generic SVG icon
|
||||||
|
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-PdfPreviewHandler\HelperFiles
|
||||||
|
- [ ] verify Preview Pane doesn't show the preview for the PDF file
|
||||||
|
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
|
||||||
|
- [ ] verify Preview Pane doesn't show the preview for the gcode file
|
||||||
|
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
|
||||||
|
- [ ] verify Preview Pane doesn't show the preview for the stl file (a generated thumbnail would show when there's no preview)
|
||||||
|
* go to PowerToys repo and visit src\runner
|
||||||
|
- [ ] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user