Compare commits

..

149 Commits

Author SHA1 Message Date
Noraa Junker
1d1ae0d191 Merge main 2025-10-31 11:32:22 +01:00
Noraa Junker
3df4b45849 Merge remote-tracking branch 'origin/main' into feature/shortcutguidev2 2025-10-29 20:21:45 +01:00
Noraa Junker
88357a5a99 Fixed spawning on wrong display and taskbar window not working under certain circumstances on secondary displays 2025-10-29 20:21:20 +01:00
Noraa Junker
b4773affa7 Fix installer 2025-10-28 21:47:11 +01:00
Noraa Junker
e82c2d20cb Fix spelling again 2025-10-28 14:59:33 +01:00
Noraa Junker
e3a1f97ef3 Fix spelling 2025-10-28 14:51:48 +01:00
Noraa Junker
b26ded5370 Fix spelling 2025-10-28 14:51:36 +01:00
Noraa Junker
2e8ad4827b Fix some spelling issues 2025-10-28 14:43:54 +01:00
Noraa Junker
877626ef45 Added manifest file in 2025-10-28 14:30:41 +01:00
Noraa Junker
e0f72df36c Update ShortcutGuide image 2025-10-28 10:18:40 +01:00
Noraa Junker
552b02d596 Fix spawning window on the right monitor 2025-10-28 00:25:08 +01:00
Noraa Junker
c184acbada Fix xaml styling 2025-10-27 23:42:45 +01:00
Noraa Junker
55038c3c5e Fix missing localization on settings button 2025-10-27 23:42:26 +01:00
Noraa Junker
f537c43139 Added right key visuals and fixed some UI bugs 2025-10-27 23:36:17 +01:00
Noraa Junker
f867323677 Update OOBE string, supress window resizing and fix auto closing when taskbar window opened 2025-10-25 21:01:39 +02:00
Noraa Junker
d58145eb8c add zoomit shortcuts comment 2025-10-25 12:07:15 +02:00
Noraa Junker
486bec0ebd Fix empty windows key 2025-10-18 23:26:53 +02:00
Noraa Junker
e76506dffd Localization 2025-10-18 23:26:16 +02:00
Noraa Junker
841a5c5555 Fixed (un)pinning shortcuts 2025-10-18 23:04:47 +02:00
Noraa Junker
f646e0328e Fix wrong number for Taskbar item 10 2025-10-18 22:06:58 +02:00
Noraa Junker
5054a776dd Fix solution merge error 2025-10-18 22:06:46 +02:00
Noraa Junker
9d480c8e2c Merge conflicts 2025-10-18 21:51:43 +02:00
Niels Laute
d652285a81 [UX] Vertical shortcutguide (#41161)
- Exploring a vertical version for Shortcut Guide 2, to make better use
of the screen real estate
- Cleanup code and improved maintainability

<img width="1391" height="1439" alt="image"
src="https://github.com/user-attachments/assets/7ee3c925-71f1-46ee-83f6-4bc43b69db4c"
/>

<img width="715" height="1065" alt="image"
src="https://github.com/user-attachments/assets/e59684b2-2063-453e-93c7-df770eaa6999"
/>


To do:
- Shortcut visualizations are broken (well.. sometimes!)
- A lot of UX nits

---------

Co-authored-by: Aaron Junker <Aaron.Junker@outlook.com>
2025-10-17 14:39:35 +02:00
Aaron Junker
200afb5c4b merge main 2025-08-20 21:15:49 +02:00
Gordon Lam (SH)
e7582ebd6a Add back empty line which is missing during rebase main 2025-08-19 08:24:08 +08:00
Gordon Lam (SH)
b9c1181d9f Add back missing project because of rebase from main: 2025-08-19 08:16:20 +08:00
Aaron Junker
4aff3418e4 Change display name of File Explorer, hide taskbar indicators on other pages then Windows -> Overview and fix height of Windows -> Overview 2025-08-19 08:09:35 +08:00
Aaron Junker
e53e1b4376 fix xaml styling 2025-08-19 08:09:35 +08:00
Aaron Junker
73f718c233 git messed up 2025-08-19 08:09:34 +08:00
Aaron Junker
0917a64e7d close infotip when link is clicked and remove unneccesairy grid 2025-08-19 08:09:34 +08:00
Aaron Junker
a764bf3e0c Change oobe design 2025-08-19 08:09:34 +08:00
Aaron Junker
4853bd0345 Change some StaticResources to ThemeResources and change style of taskbar indicators 2025-08-19 08:09:34 +08:00
Aaron Junker
dceb1d7730 Fix styling 2025-08-19 08:09:34 +08:00
Aaron Junker
72be09554e Factor out TaskbarIndicator 2025-08-19 08:09:34 +08:00
Aaron Junker
19f95066c3 Fix xaml styling 2025-08-19 08:09:34 +08:00
Aaron Junker
bb16ae1709 Adress some PR comments and fix some bugs 2025-08-19 08:09:34 +08:00
Aaron Junker
dc0877ebe5 Make some adjustants to how the windows key is displayed 2025-08-19 08:09:34 +08:00
Aaron Junker
cd844e3889 Forgot notice.md and CPPProject has some trouble buildinng release x64 2025-08-19 08:09:34 +08:00
Aaron Junker
ac789a7fbe Remove failing test 2025-08-19 08:09:34 +08:00
Aaron Junker
3b7df37ac2 That is a kinda embarrasing error 2025-08-19 08:09:34 +08:00
Aaron Junker
387b7e9795 So something was not right. Hopefully this fixes it. 2025-08-19 08:09:34 +08:00
Aaron Junker
b553addcdd Fix arm64 configuration 2025-08-19 08:09:28 +08:00
Aaron Junker
5c11c751fe Fix xaml styling 2025-08-19 08:05:58 +08:00
Aaron Junker
6d7d5f9cde Fix building in release mode and some other stuff 2025-08-19 08:05:58 +08:00
Aaron Junker
4cb9c53809 Add documentation and only export in tasklist_positions what needs to be exported 2025-08-19 08:05:58 +08:00
Aaron Junker
84d4cbb16d Refactoring, commenting and fixing some little lefrover bugs 2025-08-19 08:05:49 +08:00
Aaron Junker
97cba618da Add explorer shortcuts, fix animation stopping and add an error when index.yml generation fails 2025-08-19 08:05:26 +08:00
Aaron Junker
145247c4fb Add attribution in settings 2025-08-19 08:04:42 +08:00
Aaron Junker
84ab12027b Add welcome screen and update settings and OOBE 2025-08-19 08:04:42 +08:00
Aaron Junker
3458d01d4c Respect excluded apps 2025-08-19 08:04:41 +08:00
Aaron Junker
2e6f80f944 Respect theme selection 2025-08-19 08:04:41 +08:00
Aaron Junker
f8cc513f9c Localization 2025-08-19 08:04:41 +08:00
Aaron Junker
b1d5233622 Fix spelling 2025-08-19 08:04:41 +08:00
Aaron Junker
68b7b4183f Make UI better 2025-08-19 08:04:41 +08:00
Aaron Junker
68a10d0488 Add disclaimers 2025-08-19 08:04:41 +08:00
Aaron Junker
e70ca56e9d Add taskbar launch shortcuts and make powertoys shortcuts empty by default 2025-08-19 08:04:34 +08:00
Aaron Junker
16c4a56ca1 Make settings button work and add settings placeholder 2025-08-19 08:02:30 +08:00
Aaron Junker
0d5c85a00d Add taskbar launch shortcuts and make powertoys shortcuts empty by default 2025-08-19 08:02:29 +08:00
Aaron Junker
509ad636fe Fix spelling 2025-08-19 08:02:29 +08:00
Aaron Junker
26f76105d4 Delete weird file 2025-08-19 08:02:29 +08:00
Aaron Junker
639b29eb8c Fix pinning and unpinning shortcuts 2025-08-19 08:02:29 +08:00
Aaron Junker
bff3874b5f Only display powertoys shortcuts if the modules are enabled 2025-08-19 08:02:29 +08:00
Aaron Junker
eff58e1df5 Fix closing by shortcut add closing by ESC and fix missing files from CPPProject 2025-08-19 08:02:29 +08:00
Aaron Junker
411f4df2c0 Remove legacy shortcut behaviour 2025-08-19 08:02:29 +08:00
Aaron Junker
7dc8c1000b Remove old Shortcut Guide 2025-08-19 08:02:23 +08:00
Aaron Junker
48d8e33375 Refactoring 2025-08-19 08:00:02 +08:00
Aaron Junker
afc27e873f Remove some hosts references and fix close button 2025-08-19 08:00:02 +08:00
Aaron Junker
3302e61d72 Refactoring and localisation 2025-08-19 08:00:02 +08:00
Aaron Junker
e6edca93e7 Add taskbar indicators 2025-08-19 07:59:56 +08:00
Aaron Junker
7acab452d5 Handle errors displaying app and close window automatically on focus change 2025-08-19 07:59:29 +08:00
Aaron Junker
0a07811233 Add keyboard accelerator to the search box 2025-08-19 07:59:29 +08:00
Aaron Junker
9ecf82d2ea Add copying keyboard manifests and other improvements 2025-08-19 07:59:19 +08:00
Aaron Junker
44d12c6e63 Add support for multiple shortcuts 2025-08-19 07:58:42 +08:00
Aaron Junker
6b8a3e65f7 push 2025-08-19 07:58:42 +08:00
Aaron Junker
2b16068a7d Rename YmlInterpreter to ManifestInterpreter 2025-08-19 07:58:42 +08:00
Aaron Junker
440e75184a Fix error messages and read application titles out of index manifest 2025-08-19 07:58:42 +08:00
Aaron Junker
acf510dff5 Fix display on monitor with mouse and move all NaticeMethods to NativeMethods.cs 2025-08-19 07:58:42 +08:00
Aaron Junker
ddd090cc81 Code cleanup 2025-08-19 07:58:42 +08:00
Aaron Junker
2f4766df19 Push 2025-08-19 07:58:42 +08:00
Aaron Junker
6558260c53 Push 2025-08-19 07:58:42 +08:00
Aaron Junker
55b3e15f10 Changed style a little bit 2025-08-19 07:58:42 +08:00
Aaron Junker
69c6475e15 [WIP] Shortcut Guide V2 2025-08-19 07:58:21 +08:00
Aaron Junker
8e7be164a9 Change display name of File Explorer, hide taskbar indicators on other pages then Windows -> Overview and fix height of Windows -> Overview 2025-08-07 11:57:04 +02:00
Aaron Junker
f42b3922c7 fix xaml styling 2025-08-05 10:33:42 +02:00
Aaron Junker
d568d16560 git messed up 2025-08-05 00:06:07 +02:00
Aaron Junker
0abae1d190 close infotip when link is clicked and remove unneccesairy grid 2025-08-04 23:51:18 +02:00
Aaron Junker
271e0c0533 Change oobe design 2025-08-04 23:34:23 +02:00
Aaron Junker
6bd5c4c811 Change some StaticResources to ThemeResources and change style of taskbar indicators 2025-08-03 22:37:40 +02:00
Aaron Junker
a41be807a4 Fix styling 2025-08-03 16:31:57 +02:00
Aaron Junker
e11626550e Factor out TaskbarIndicator 2025-08-03 16:30:59 +02:00
Aaron Junker
7266745124 Fix xaml styling 2025-08-01 17:53:23 +02:00
Aaron Junker
77a5bc2ff5 Adress some PR comments and fix some bugs 2025-08-01 17:51:32 +02:00
Aaron Junker
0b6683eb34 Make some adjustants to how the windows key is displayed 2025-08-01 17:06:54 +02:00
Aaron Junker
3796fdb706 Forgot notice.md and CPPProject has some trouble buildinng release x64 2025-07-30 18:17:26 +02:00
Aaron Junker
2d12932e44 Remove failing test 2025-07-30 17:31:31 +02:00
Aaron Junker
1da76e55bb Merge branch 'feature/shortcutguidev2' of https://github.com/microsoft/PowerToys into feature/shortcutguidev2 2025-07-30 17:21:46 +02:00
Aaron Junker
3c1a6a5b16 That is a kinda embarrasing error 2025-07-30 17:21:37 +02:00
Noraa Junker-Wildi
3b77feb879 Merge branch 'main' into feature/shortcutguidev2 2025-07-30 16:58:28 +02:00
Aaron Junker
7e7bb04d48 So something was not right. Hopefully this fixes it. 2025-07-30 16:50:20 +02:00
Aaron Junker
273b50cb16 Fix arm64 configuration 2025-07-29 18:51:21 +02:00
Aaron Junker
498c8d534f Fix xaml styling 2025-07-29 18:01:23 +02:00
Aaron Junker
0e2f466454 Fix building in release mode and some other stuff 2025-07-29 17:48:28 +02:00
Aaron Junker
1982f2615d Add documentation and only export in tasklist_positions what needs to be exported 2025-07-29 15:37:48 +02:00
Aaron Junker
2f89281178 Refactoring, commenting and fixing some little lefrover bugs 2025-07-28 16:12:36 +02:00
Aaron Junker
56f056e492 Add explorer shortcuts, fix animation stopping and add an error when index.yml generation fails 2025-07-28 14:08:42 +02:00
Aaron Junker
71dd8fe83f Add attribution in settings 2025-07-28 02:07:14 +02:00
Aaron Junker
f9183af53d Add welcome screen and update settings and OOBE 2025-07-28 02:02:55 +02:00
Aaron Junker
0f85f8bad6 Respect excluded apps 2025-07-27 23:48:49 +02:00
Aaron Junker
e0e7bf4df2 Respect theme selection 2025-07-27 22:45:14 +02:00
Aaron Junker
b12fcf6699 Localization 2025-07-27 22:06:15 +02:00
Aaron Junker
2ee02c4bbe Fix spelling 2025-07-27 21:12:12 +02:00
Aaron Junker
a306797d21 Make UI better 2025-07-27 21:11:16 +02:00
Aaron Junker
7e50caa04e Add disclaimers 2025-07-27 20:43:27 +02:00
Aaron Junker
e3b1ec356e commit 2025-07-27 20:30:03 +02:00
Aaron Junker
fa54b49fca Make settings button work and add settings placeholder 2025-07-27 20:29:36 +02:00
Aaron Junker
7e2fc4481d Add taskbar launch shortcuts and make powertoys shortcuts empty by default 2025-07-27 20:15:01 +02:00
Aaron Junker
201a27d2bb Add taskbar launch shortcuts and make powertoys shortcuts empty by default 2025-07-27 20:09:54 +02:00
Aaron Junker
fe3d481407 Fix spelling 2025-07-27 19:48:55 +02:00
Aaron Junker
3475c92f32 Delete weird file 2025-07-27 19:42:18 +02:00
Aaron Junker
82b0ca71fd Fix pinning and unpinning shortcuts 2025-07-27 19:39:43 +02:00
Aaron Junker
3a8431ae9d Only display powertoys shortcuts if the modules are enabled 2025-07-27 18:48:32 +02:00
Aaron Junker
eed6dc6f8d Merge branch 'feature/shortcutguidev2' of https://github.com/microsoft/PowerToys into feature/shortcutguidev2 2025-07-27 18:17:41 +02:00
Aaron Junker
038cd23423 Merge branch 'feature/shortcutguidev2' of https://github.com/microsoft/PowerToys into feature/shortcutguidev2 2025-07-27 18:17:39 +02:00
Aaron Junker
be799ddd82 Merge branch 'feature/shortcutguidev2' of https://github.com/microsoft/PowerToys into feature/shortcutguidev2 2025-07-27 18:00:52 +02:00
Aaron Junker
e26bf2acd6 Merge branch 'feature/shortcutguidev2' of https://github.com/microsoft/PowerToys into feature/shortcutguidev2 2025-07-27 18:00:49 +02:00
Aaron Junker
95e0a20444 Merge branch 'feature/shortcutguidev2' of https://github.com/microsoft/PowerToys into feature/shortcutguidev2 2025-07-27 17:47:27 +02:00
Aaron Junker
3e75fb0c52 Merge main in 2025-07-27 17:46:58 +02:00
Aaron Junker
ba4098960c Merge main in 2025-07-27 17:46:48 +02:00
Aaron Junker
1580279be1 Fix closing by shortcut add closing by ESC and fix missing files from CPPProject 2025-07-27 17:42:41 +02:00
Aaron Junker
07760e4730 Remove legacy shortcut behaviour 2025-07-27 16:59:25 +02:00
Aaron Junker
d73ab4f2d3 Remove old Shortcut Guide 2025-07-27 16:40:44 +02:00
Aaron Junker
a6b761433e Refactoring 2025-06-18 21:05:34 +02:00
Aaron Junker
da77396da5 Remove some hosts references and fix close button 2025-06-15 23:20:26 +02:00
Aaron Junker
46df48684d Refactoring and localisation 2025-06-15 22:13:41 +02:00
Aaron Junker
7596e965ef Add taskbar indicators 2025-06-13 23:37:54 +02:00
Aaron Junker
0b823ea8bd Handle errors displaying app and close window automatically on focus change 2025-06-11 15:41:39 +02:00
Aaron Junker
54d176c4c4 Add keyboard accelerator to the search box 2025-06-11 15:33:57 +02:00
Aaron Junker
569f07268b Add copying keyboard manifests and other improvements 2025-06-11 15:26:34 +02:00
Aaron Junker
7ce5182695 Add support for multiple shortcuts 2025-06-07 02:21:34 +02:00
Aaron Junker
b16b4579fa push 2025-06-06 23:32:40 +02:00
Aaron Junker
a292a92f4d Merge main 2025-06-06 22:20:01 +02:00
Aaron Junker
6952deb4ae Rename YmlInterpreter to ManifestInterpreter 2024-11-10 15:06:36 +01:00
Aaron Junker
da7b789bfe Fix error messages and read application titles out of index manifest 2024-11-10 15:05:34 +01:00
Aaron Junker
a14c458f19 Fix display on monitor with mouse and move all NaticeMethods to NativeMethods.cs 2024-11-04 00:17:43 +01:00
Aaron Junker
22dc870991 Code cleanup 2024-11-04 00:11:16 +01:00
Aaron Junker
d5f5500347 Push 2024-11-03 22:06:38 +01:00
Aaron Junker
c81a423880 Push 2024-11-02 15:10:33 +01:00
Aaron Junker
7a6189ba3e Changed style a little bit 2024-10-14 20:37:55 +02:00
Aaron Junker
03587ae800 [WIP] Shortcut Guide V2 2024-10-14 19:02:22 +02:00
822 changed files with 10189 additions and 108347 deletions

View File

@@ -7,13 +7,6 @@ body:
- type: markdown
attributes:
value: Please make sure to [search for existing issues](https://github.com/microsoft/PowerToys/issues) before filing a new one!
- type: markdown
attributes:
value: |
We are aware of the following high-volume issues and are actively working on them. Please check if your issue is one of these before filing a new bug report:
* **PowerToys Run crash related to "Desktop composition is disabled"**: This may appear as `COMException: 0x80263001`. For more details, see issue [#31226](https://github.com/microsoft/PowerToys/issues/31226).
* **PowerToys Run crash with `COMException (0xD0000701)`**: For more details, see issue [#30769](https://github.com/microsoft/PowerToys/issues/30769).
* **PowerToys Run crash with a "Cyclic reference" error**: This `System.InvalidOperationException` is detailed in issue [#36451](https://github.com/microsoft/PowerToys/issues/36451).
- id: version
type: input
attributes:

View File

@@ -47,6 +47,7 @@ resw
resx
srt
Stereolithography
taskmgr
terabyte
UYVY
xbf
@@ -319,12 +320,9 @@ MRUCMPPROC
MRUINFO
REGSTR
#Xaml
NVI
Storyboards
# Misc Win32 APIs and PInvokes
INVOKEIDLIST
# PowerRename metadata pattern abbreviations (used in tests and regex patterns)
DDDD
FFF
HHH
riday
YYY

View File

@@ -105,7 +105,6 @@
^src/common/notifications/BackgroundActivatorDLL/cpp\.hint$
^src/common/sysinternals/Eula/
^src/modules/cmdpal/doc/initial-sdk-spec/list-elements-mock-002\.pdn$
^src/modules/cmdpal/ext/SamplePagesExtension/Pages/SampleMarkdownImagesPage\.cs$
^src/modules/colorPicker/ColorPickerUI/Shaders/GridShader\.cso$
^src/modules/launcher/Plugins/Microsoft\.PowerToys\.Run\.Plugin\.TimeDate/Properties/
^src/modules/MouseUtils/MouseJumpUI/MainForm\.resx$

View File

@@ -22,7 +22,6 @@ ADate
ADDSTRING
ADDUNDORECORD
ADifferent
adjacents
ADMINS
adml
admx
@@ -35,7 +34,6 @@ AFX
AGGREGATABLE
AHK
AHybrid
AIUI
akv
ALarger
ALIGNRIGHT
@@ -65,7 +63,6 @@ APIIs
Apm
APPBARDATA
APPEXECLINK
appext
APPLICATIONFRAMEHOST
appmanifest
APPMODEL
@@ -101,6 +98,7 @@ ATX
ATRIOX
aumid
authenticode
Authenticode
AUTOBUDDY
AUTOCHECKBOX
AUTOHIDE
@@ -114,9 +112,6 @@ AValid
AWAYMODE
azcliversion
azman
azureaiinference
azureinference
azureopenai
bbwe
BCIE
bck
@@ -141,7 +136,7 @@ bla
BLACKFRAME
BLENDFUNCTION
Blockquotes
blt
Blt
BLURBEHIND
BLURREGION
bmi
@@ -176,18 +171,14 @@ BYPOSITION
CALCRECT
CALG
callbackptr
cabstr
calpwstr
caub
Cangjie
CANRENAME
Carlseibert
Canvascustomlayout
CAPTUREBLT
CAPTURECHANGED
CARETBLINKING
CAtl
CBN
cch
CCHDEVICENAME
CCHFORMNAME
@@ -210,12 +201,10 @@ CIBUILD
cidl
CIELCh
cim
claude
CImage
cla
CLASSDC
CLASSNOTAVAILABLE
cleanmgr
clickable
clickonce
CLIENTEDGE
@@ -244,7 +233,6 @@ CODENAME
codereview
Codespaces
Coen
cognitiveservices
COINIT
colid
colorconv
@@ -259,7 +247,6 @@ cominterop
commandnotfound
commandpalette
compmgmt
COMPOSITIONDISABLED
COMPOSITIONFULL
CONFIGW
CONFLICTINGMODIFIERKEY
@@ -292,7 +279,6 @@ cpptools
cppvsdbg
cppwinrt
createdump
creativecommons
CREATEPROCESS
CREATESCHEDULEDTASK
CREATESTRUCT
@@ -316,7 +302,6 @@ CURRENTDIR
CURSORINFO
cursorpos
CURSORSHOWING
CURSORWRAP
customaction
CUSTOMACTIONTEST
CUSTOMFORMATPLACEHOLDER
@@ -356,7 +341,6 @@ Deact
debugbreak
decryptor
Dedup
dfx
Deduplicator
Deeplink
DEFAULTBOOTSTRAPPERINSTALLFOLDER
@@ -416,9 +400,6 @@ DNLEN
DONOTROUND
DONTVALIDATEPATH
dotnet
downsampled
downsampling
Downsampled
downscale
DPICHANGED
DPIs
@@ -434,7 +415,7 @@ DROPFILES
DSTINVERT
DString
DSVG
dto
DTo
DUMMYUNIONNAME
dutil
DVASPECT
@@ -468,6 +449,7 @@ EDITKEYBOARD
EDITSHORTCUTS
EDITTEXT
EFile
ekus
eku
emojis
ENABLEDELAYEDEXPANSION
@@ -532,7 +514,6 @@ EXTRINSICPROPERTIES
eyetracker
FANCYZONESDRAWLAYOUTTEST
FANCYZONESEDITOR
FNumber
FARPROC
fdx
fesf
@@ -564,7 +545,6 @@ FIXEDSYS
flac
flyouts
FMask
foundrylocal
fmtid
FOF
FOFX
@@ -603,7 +583,6 @@ getfilesiginforedist
geolocator
GETHOTKEY
GETICON
GETLBTEXT
GETMINMAXINFO
GETNONCLIENTMETRICS
GETPROPERTYSTOREFLAGS
@@ -611,7 +590,6 @@ GETSCREENSAVERRUNNING
GETSECKEY
GETSTICKYKEYS
GETTEXTLENGTH
GIFs
gitmodules
GHND
GMEM
@@ -622,7 +600,6 @@ GPOCA
gpp
gpu
gradians
grctlext
Gridcustomlayout
GSM
gtm
@@ -632,8 +609,6 @@ GValue
gwl
GWLP
GWLSTYLE
googleai
googlegemini
hangeul
Hanzi
Hardlines
@@ -722,7 +697,6 @@ HTCLIENT
hthumbnail
HTOUCHINPUT
HTTRANSPARENT
hutchinsoniana
HVal
HValue
Hvci
@@ -744,9 +718,7 @@ IDCANCEL
IDD
idk
idl
IIM
idlist
ifd
IDOK
IDOn
IDR
@@ -763,7 +735,6 @@ Ijwhost
ILD
IMAGEHLP
IMAGERESIZERCONTEXTMENU
IPTC
IMAGERESIZEREXT
imageresizerinput
imageresizersettings
@@ -835,6 +806,8 @@ jpnime
Jsons
jsonval
jxr
KBSC
kdc
keybd
KEYBDDATA
KEYBDINPUT
@@ -903,7 +876,6 @@ LOCKTYPE
LOGFONT
LOGFONTW
logon
lon
LOGMSG
LOGPIXELSX
LOGPIXELSY
@@ -995,7 +967,6 @@ MENUITEMINFOW
MERGECOPY
MERGEPAINT
Metadatas
metadatamatters
metafile
mfc
Mgmt
@@ -1158,7 +1129,6 @@ nonstd
NOOWNERZORDER
NOPARENTNOTIFY
NOPREFIX
NPU
NOREDIRECTIONBITMAP
NOREDRAW
NOREMOVE
@@ -1194,8 +1164,8 @@ ntfs
NTSTATUS
NTSYSAPI
NULLCURSOR
nullonfailure
nullref
nullonfailure
numberbox
nwc
ocr
@@ -1218,9 +1188,6 @@ opencode
OPENFILENAME
opensource
openxmlformats
ollama
Olllama
onnx
OPTIMIZEFORINVOKE
ORPHANEDDIALOGTITLE
ORSCANS
@@ -1234,6 +1201,7 @@ OUTOFCONTEXT
Outptr
outputtype
outsettings
outsourced
OVERLAPPEDWINDOW
Oversampling
OVERWRITEPROMPT
@@ -1297,6 +1265,7 @@ phwnd
pici
pidl
PIDLIST
pinboard
pinfo
pinvoke
pipename
@@ -1315,7 +1284,6 @@ pnid
PNMLINK
Poc
Podcasts
Photoshop
POINTERID
POINTERUPDATE
Pokedex
@@ -1376,6 +1344,7 @@ projectname
PROPERTYKEY
Propset
PROPVARIANT
Prt
PRTL
prvpane
psapi
@@ -1410,8 +1379,6 @@ pwsz
pwtd
QDC
qit
QNN
Qualcomm
QITAB
QITABENT
qoi
@@ -1520,7 +1487,6 @@ sacl
safeprojectname
SAMEKEYPREVIOUSLYMAPPED
SAMESHORTCUTPREVIOUSLYMAPPED
samsung
sancov
SAVEFAILED
scanled
@@ -1874,7 +1840,6 @@ UPDATENOW
UPDATEREGISTRY
updown
UPGRADINGPRODUCTCODE
upscaling
Uptool
urld
Usb
@@ -1884,7 +1849,6 @@ USEINSTALLERFORTEST
USESHOWWINDOW
USESTDHANDLES
USRDLL
utm
UType
uuidv
uwp
@@ -1961,7 +1925,6 @@ wcsicmp
wcsncpy
wcsnicmp
WCT
WCRAPI
WDA
wdm
wdp
@@ -1975,7 +1938,6 @@ wgpocpl
WHEREID
wic
wifi
wikimedia
wikipedia
WIL
winapi
@@ -2005,8 +1967,6 @@ WINL
winlogon
winmd
WINNT
windowsml
winml
winres
winrt
winsdk
@@ -2037,6 +1997,7 @@ WNDCLASSW
WNDPROC
wnode
wom
workerw
WORKSPACESEDITOR
WORKSPACESLAUNCHER
WORKSPACESSNAPSHOTTOOL
@@ -2072,9 +2033,7 @@ XAxis
XButton
xclip
xcopy
xap
XDeployment
XDimension
xdf
XDocument
XElement
@@ -2092,7 +2051,6 @@ xsi
XSpeed
XStr
xstyler
xmp
XTimer
XUP
XVIRTUALSCREEN
@@ -2100,7 +2058,6 @@ xxxxxx
YAxis
ycombinator
YIncrement
YDimension
yinle
yinyue
YPels

View File

@@ -253,7 +253,7 @@ _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING
# hit-count: 1 file-count: 1
# Amazon
\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)
\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)[^"'\s]+
# hit-count: 3 file-count: 3
# imgur

View File

@@ -5,7 +5,6 @@
## PR Checklist
- [ ] Closes: #xxx
<!-- - [ ] Closes: #yyy (add separate lines for additional resolved issues) -->
- [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized

View File

@@ -40,7 +40,7 @@ jobs:
echo powerToysInstallerArm64Url=$(jq -n "$powerToysSetup" | jq -r '[.[]|select(.name | contains("arm64"))][0].browser_download_url') >> $GITHUB_OUTPUT
- name: Setup .NET 9.0
uses: actions/setup-dotnet@v5
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'

5
.gitignore vendored
View File

@@ -349,7 +349,10 @@ src/common/Telemetry/*.etl
/src/modules/powerrename/ui/RCb24464
# Generated installer file for Monaco source files.
/installer/PowerToysSetup/MonacoSRC.wxs
/installer/PowerToysSetup/DscResources.wxs
/installer/PowerToysSetupVNext/MonacoSRC.wxs
/installer/PowerToysSetupVNext/DscResources.wxs
# MSBuildCache
/MSBuildCacheLogs/
@@ -358,4 +361,4 @@ src/common/Telemetry/*.etl
/src/settings-ui/Settings.UI/Assets/Settings/search.index.json
# PowerToysInstaller Build Temp Files
installer/*/*.wxs.bk
installer/*/*.wxs.bk

3
.gitmodules vendored
View File

@@ -4,3 +4,6 @@
[submodule "deps/expected-lite"]
path = deps/expected-lite
url = https://github.com/martinmoene/expected-lite.git
[submodule "deps/cziplib"]
path = deps/cziplib
url = https://github.com/kuba--/zip.git

View File

@@ -5,6 +5,7 @@
{
"MatchedPath": [
"*.resources.dll",
"WinUI3Apps\\Assets\\Settings\\Scripts\\*.ps1",
"PowerToys.ActionRunner.exe",
@@ -26,7 +27,6 @@
"PowerToys.GPOWrapper.dll",
"PowerToys.GPOWrapperProjection.dll",
"PowerToys.AllExperiments.dll",
"LanguageModelProvider.dll",
"Common.Search.dll",
@@ -181,7 +181,6 @@
"PowerToys.MousePointerCrosshairs.dll",
"PowerToys.MouseJumpUI.dll",
"PowerToys.MouseJumpUI.exe",
"PowerToys.CursorWrap.dll",
"PowerToys.MouseWithoutBorders.dll",
"PowerToys.MouseWithoutBorders.exe",
@@ -221,8 +220,12 @@
"WinUI3Apps\\PowerToys.RegistryPreview.dll",
"WinUI3Apps\\PowerToys.RegistryPreview.exe",
"PowerToys.ShortcutGuide.exe",
"PowerToys.ShortcutGuideModuleInterface.dll",
"WinUI3Apps\\PowerToys.ShortcutGuide.exe",
"WinUI3Apps\\PowerToys.ShortcutGuide.dll",
"WinUI3Apps\\PowerToys.ShortcutGuideModuleInterface.dll",
"WinUI3Apps\\PowerToys.ShortcutGuide.IndexYmlGenerator.dll",
"WinUI3Apps\\PowerToys.ShortcutGuide.IndexYmlGenerator.exe",
"WinUI3Apps\\ShortcutGuide.CPPProject.dll",
"PowerToys.ZoomIt.exe",
"PowerToys.ZoomItModuleInterface.dll",
@@ -347,8 +350,6 @@
"Testably.Abstractions.FileSystem.Interface.dll",
"WinUI3Apps\\Testably.Abstractions.FileSystem.Interface.dll",
"ColorCode.Core.dll",
"Microsoft.SemanticKernel.Connectors.Ollama.dll",
"OllamaSharp.dll",
"UnitsNet.dll",
"UtfUnknown.dll",

View File

@@ -65,28 +65,21 @@ if (-not (Test-Path $outputDir)) {
New-Item -Path $outputDir -ItemType Directory -Force | Out-Null
}
# DSC v3 manifests go to DSCModules subfolder
$dscOutputDir = Join-Path $outputDir 'DSCModules'
if (-not (Test-Path $dscOutputDir)) {
Write-Host "Creating DSCModules subfolder at '$dscOutputDir'."
New-Item -Path $dscOutputDir -ItemType Directory -Force | Out-Null
}
Write-Host "DSC manifests will be generated to: '$outputDir'"
Write-Host "DSC manifests will be generated to: '$dscOutputDir'"
Write-Host "Cleaning previously generated DSC manifest files from '$outputDir'."
Get-ChildItem -Path $outputDir -Filter 'microsoft.powertoys.*.settings.dsc.resource.json' -ErrorAction SilentlyContinue | Remove-Item -Force
Write-Host "Cleaning previously generated DSC manifest files from '$dscOutputDir'."
Get-ChildItem -Path $dscOutputDir -Filter 'microsoft.powertoys.*.settings.dsc.resource.json' -ErrorAction SilentlyContinue | Remove-Item -Force
$arguments = @('manifest', '--resource', 'settings', '--outputDir', $dscOutputDir)
$arguments = @('manifest', '--resource', 'settings', '--outputDir', $outputDir)
Write-Host "Invoking DSC manifest generator: '$exePath' $($arguments -join ' ')"
& $exePath @arguments
if ($LASTEXITCODE -ne 0) {
throw "PowerToys.DSC.exe exited with code $LASTEXITCODE"
}
$generatedFiles = Get-ChildItem -Path $dscOutputDir -Filter 'microsoft.powertoys.*.settings.dsc.resource.json' -ErrorAction Stop
$generatedFiles = Get-ChildItem -Path $outputDir -Filter 'microsoft.powertoys.*.settings.dsc.resource.json' -ErrorAction Stop
if ($generatedFiles.Count -eq 0) {
throw "No DSC manifest files were generated in '$dscOutputDir'."
throw "No DSC manifest files were generated in '$outputDir'."
}
Write-Host "Generated $($generatedFiles.Count) DSC manifest file(s):"

View File

@@ -32,7 +32,7 @@ parameters:
- name: enableMsBuildCaching
type: boolean
displayName: "Enable MSBuild Caching"
default: false
default: true
- name: runTests
type: boolean
displayName: "Run Tests"

View File

@@ -52,6 +52,8 @@ extends:
name: SHINE-INT-S
${{ if eq(parameters.useVSPreview, true) }}:
demands: ImageOverride -equals SHINE-VS17-Preview
${{ else }}:
image: SHINE-VS17-Latest
os: windows
sdl:
tsa:
@@ -73,6 +75,7 @@ extends:
name: SHINE-INT-L
demands:
# Our INT agents have a large disk mounted at P:\
- WorkFolder -equals P:\_work
- ${{ if eq(parameters.useVSPreview, true) }}:
- ImageOverride -equals SHINE-VS17-Preview
os: windows
@@ -123,6 +126,7 @@ extends:
parameters:
pool:
name: SHINE-INT-L
image: SHINE-VS17-Latest
os: windows
official: true
codeSign: true

View File

@@ -111,7 +111,6 @@ jobs:
${{ else }}:
OutputBuildPlatform: ${{ platform }}
variables:
NUGET_PACKAGES: 'C:\NuGetPackages' # Some of our build steps cache these here... and it was apparently part of the global environment
MakeAppxPath: 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\MakeAppx.exe'
# Azure DevOps abhors a vacuum
# If these are blank, expansion will fail later on... which will result in direct substitution of the variable *names*
@@ -140,10 +139,6 @@ jobs:
- output: pipelineArtifact
artifactName: $(JobOutputArtifactName)
targetPath: $(Build.ArtifactStagingDirectory)
- output: pipelineArtifact
artifactName: $(JobOutputArtifactName)-failure-$(System.JobAttempt)
targetPath: $(LogOutputDirectory)
condition: or(failed(), canceled())
steps:
- checkout: self
clean: true
@@ -271,26 +266,6 @@ jobs:
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- task: VSBuild@1
displayName: Generate DSC artifacts for ARM64
condition: and(succeeded(), eq(variables['BuildPlatform'], 'arm64'))
inputs:
solution: PowerToys.sln
vsVersion: 17.0
msbuildArgs: >-
-restore
/p:Configuration=$(BuildConfiguration)
/p:Platform=x64
/t:DSC\PowerToys_Settings_DSC_Schema_Generator
/bl:$(LogOutputDirectory)\build-dsc-generator.binlog
${{ parameters.additionalBuildOptions }}
$(MSBuildCacheParameters)
$(RestoreAdditionalProjectSourcesArg)
platform: x64
configuration: $(BuildConfiguration)
msbuildArchitecture: x64
maximumCpuCount: true
# Build PowerToys.DSC.exe for ARM64 (x64 uses existing binary from previous build)
- task: VSBuild@1
displayName: Build PowerToys.DSC.exe (x64 for generating manifests)
@@ -400,7 +375,7 @@ jobs:
### HACK: On ARM64 builds, building an app with Windows App SDK copies the x64 WebView2 dll instead of the ARM64 one. This task makes sure the right dll is used.
- task: CopyFiles@2
displayName: HACK Copy core WebView2 ARM64 dll to output directory
condition: and(succeeded(), eq(variables['BuildPlatform'], 'arm64'))
condition: eq(variables['BuildPlatform'],'arm64')
inputs:
contents: packages/Microsoft.Web.WebView2.1.0.2903.40/runtimes/win-ARM64/native_uap/Microsoft.Web.WebView2.Core.dll
targetFolder: $(Build.SourcesDirectory)/ARM64/Release/WinUI3Apps/
@@ -439,11 +414,11 @@ jobs:
inputs:
testResultsFormat: VSTest
testResultsFiles: '**/*.trx'
condition: and(succeeded(), ne(variables['BuildPlatform'], 'arm64'))
condition: ne(variables['BuildPlatform'],'arm64')
# Native dlls
- task: VSTest@2
condition: and(succeeded(), ne(variables['BuildPlatform'], 'arm64')) # No arm64 agents to run the tests.
condition: ne(variables['BuildPlatform'],'arm64') # No arm64 agents to run the tests.
displayName: 'Native Tests'
inputs:
platform: '$(BuildPlatform)'

13
.vscode/launch.json vendored
View File

@@ -38,17 +38,6 @@
"env": {},
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Run AdvancedPaste (managed, no build, ARCH configurable)",
"type": "coreclr",
"request": "launch",
"program": "${workspaceFolder}\\${input:arch}\\Debug\\WinUI3Apps\\PowerToys.AdvancedPaste.exe",
"args": [],
"cwd": "${workspaceFolder}",
"env": {},
"console": "internalConsole",
"stopAtEntry": false
},
}
]
}

View File

@@ -1,6 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Hybrid CRT configuration -->
<PropertyGroup Condition="'$(HybridCrtConfiguration)'==''">
<HybridCrtConfiguration>$(Configuration)</HybridCrtConfiguration>
</PropertyGroup>
<!-- Skip Hybrid CRT for AppContainer/UWP projects as they require MultiThreadedDLL -->
<PropertyGroup Condition="'$(AppContainerApplication)'=='true' and '$(_VC_Target_Library_Platform)'!='Desktop'">
<HybridCrtConfiguration></HybridCrtConfiguration>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(HybridCrtConfiguration)'=='Debug'">
<ClCompile>
<!-- We use MultiThreadedDebug, rather than MultiThreadedDebugDLL, to avoid DLL dependencies on VCRUNTIME140d.dll and MSVCP140d.dll. -->
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<!-- Link statically against the runtime and STL, but link dynamically against the CRT by ignoring the static CRT
lib and instead linking against the Universal CRT DLL import library. This "hybrid" linking mechanism is
supported according to the CRT maintainer. Dynamic linking against the CRT makes the binaries a bit smaller
than they would otherwise be if the CRT, runtime, and STL were all statically linked in. -->
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);libucrtd.lib</IgnoreSpecificDefaultLibraries>
<AdditionalOptions>%(AdditionalOptions) /defaultlib:ucrtd.lib</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(HybridCrtConfiguration)'=='Release'">
<ClCompile>
<!-- We use MultiThreaded, rather than MultiThreadedDLL, to avoid DLL dependencies on VCRUNTIME140.dll and MSVCP140.dll. -->
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<!-- Link statically against the runtime and STL, but link dynamically against the CRT by ignoring the static CRT
lib and instead linking against the Universal CRT DLL import library. This "hybrid" linking mechanism is
supported according to the CRT maintainer. Dynamic linking against the CRT makes the binaries a bit smaller
than they would otherwise be if the CRT, runtime, and STL were all statically linked in. -->
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);libucrt.lib</IgnoreSpecificDefaultLibraries>
<AdditionalOptions>%(AdditionalOptions) /defaultlib:ucrt.lib</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<!-- AppContainer/UWP projects must use MultiThreadedDLL -->
<ItemDefinitionGroup Condition="'$(AppContainerApplication)'=='true' and '$(_VC_Target_Library_Platform)'!='Desktop' And '$(Configuration)'=='Debug'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(AppContainerApplication)'=='true' and '$(_VC_Target_Library_Platform)'!='Desktop' And '$(Configuration)'=='Release'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
<!-- Project configurations -->
<ItemGroup Label="ProjectConfigurations">
@@ -26,7 +76,6 @@
<PropertyGroup Condition="'$(SkipCppCodeAnalysis)' == ''">
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>$(MsbuildThisFileDirectory)\CppRuleSet.ruleset</CodeAnalysisRuleSet>
<CAExcludePath>$(MSBuildThisFileDirectory)deps;$(MSBuildThisFileDirectory)packages;$(CAExcludePath)</CAExcludePath>
</PropertyGroup>
<!-- C++ source compile-specific things for all configurations -->
@@ -35,7 +84,7 @@
<PreferredToolArchitecture Condition="'$(PROCESSOR_ARCHITECTURE)' == 'ARM64' or '$(PROCESSOR_ARCHITEW6432)' == 'ARM64'">arm64</PreferredToolArchitecture>
<VcpkgEnabled>false</VcpkgEnabled>
<ReplaceWildcardsInProjectItems>true</ReplaceWildcardsInProjectItems>
<ExternalIncludePath>$(MSBuildThisFileDirectory)deps;$(MSBuildThisFileDirectory)packages;$(ExternalIncludePath)</ExternalIncludePath>
<ExternalIncludePath>$(MSBuildThisFileFullPath)\..\deps\;$(MSBuildThisFileFullPath)\..\packages\;$(ExternalIncludePath)</ExternalIncludePath>
<!-- Enable control flow guard for C++ projects that don't consume any C++ files -->
<!-- This covers the case where a .dll exports a .lib, but doesn't have any ClCompile entries. -->
<LinkControlFlowGuard>Guard</LinkControlFlowGuard>
@@ -74,7 +123,6 @@
<ClCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -84,7 +132,6 @@
<ClCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>MaxSpeed</Optimization>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>

View File

@@ -147,18 +147,6 @@ _If you want to find diagnostic data events in the source code, these two links
<td>Microsoft.PowerToys.AdvancedPasteSemanticKernelFormatEvent</td>
<td>Triggered when Advanced Paste leverages the Semantic Kernel.</td>
</tr>
<tr>
<td>Microsoft.PowerToys.AdvancedPasteSemanticKernelErrorEvent</td>
<td>Occurs when the Semantic Kernel workflow encounters an error.</td>
</tr>
<tr>
<td>Microsoft.PowerToys.AdvancedPasteEndpointUsageEvent</td>
<td>Logs the AI provider, model, and processing duration for each endpoint call.</td>
</tr>
<tr>
<td>Microsoft.PowerToys.AdvancedPasteCustomActionErrorEvent</td>
<td>Records provider, model, and status details when a custom action fails.</td>
</tr>
</table>
### Always on Top

View File

@@ -1,4 +1,4 @@
<Project>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
@@ -7,9 +7,9 @@
<PackageVersion Include="AdaptiveCards.ObjectModel.WinUI3" Version="2.0.0-beta" />
<PackageVersion Include="AdaptiveCards.Rendering.WinUI3" Version="2.1.0-beta" />
<PackageVersion Include="AdaptiveCards.Templating" Version="2.0.5" />
<PackageVersion Include="CommunityToolkit.Labs.WinUI.Controls.OpacityMaskView" Version="0.1.251101-build.2372" />
<PackageVersion Include="Microsoft.Bot.AdaptiveExpressions.Core" Version="4.23.0" />
<PackageVersion Include="Appium.WebDriver" Version="4.4.5" />
<PackageVersion Include="Azure.AI.OpenAI" Version="1.0.0-beta.17" />
<PackageVersion Include="CoenM.ImageSharp.ImageHash" Version="1.3.6" />
<PackageVersion Include="CommunityToolkit.Common" Version="8.4.0" />
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
@@ -35,33 +35,23 @@
<!-- Including MessagePack to force version, since it's used by StreamJsonRpc but contains vulnerabilities. After StreamJsonRpc updates the version of MessagePack, we can upgrade StreamJsonRpc instead. -->
<PackageVersion Include="MessagePack" Version="3.1.3" />
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.10" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.8" />
<!-- Including Microsoft.Bcl.AsyncInterfaces to force version, since it's used by Microsoft.SemanticKernel. -->
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.10" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.8" />
<PackageVersion Include="Microsoft.Windows.CppWinRT" Version="2.0.240111.5" />
<PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.1.16" />
<PackageVersion Include="Microsoft.Extensions.AI" Version="9.9.1" />
<PackageVersion Include="Microsoft.Extensions.AI.OpenAI" Version="9.9.1-preview.1.25474.6" />
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="9.0.10" />
<PackageVersion Include="Microsoft.AI.Foundry.Local" Version="0.3.0" />
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.66.0" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.OpenAI" Version="1.66.0" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureAIInference" Version="1.66.0-beta" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Google" Version="1.66.0-alpha" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.MistralAI" Version="1.66.0-alpha" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Ollama" Version="1.66.0-alpha" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.8" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.8" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.8" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.8" />
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="9.0.8" />
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.15.0" />
<PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
<PackageVersion Include="Microsoft.Web.WebView2" Version="1.0.3179.45" />
<!-- Package Microsoft.Win32.SystemEvents added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Drawing.Common but the 8.0.1 version wasn't published to nuget. -->
<PackageVersion Include="Microsoft.Win32.SystemEvents" Version="9.0.10" />
<PackageVersion Include="Microsoft.Win32.SystemEvents" Version="9.0.8" />
<PackageVersion Include="Microsoft.WindowsPackageManager.ComInterop" Version="1.10.340" />
<PackageVersion Include="Microsoft.Windows.Compatibility" Version="9.0.10" />
<PackageVersion Include="Microsoft.Windows.Compatibility" Version="9.0.8" />
<PackageVersion Include="Microsoft.Windows.CsWin32" Version="0.3.183" />
<!-- CsWinRT version needs to be set to have a WinRT.Runtime.dll at the same version contained inside the NET SDK we're currently building on CI. -->
<!--
@@ -84,7 +74,7 @@
<PackageVersion Include="NLog" Version="5.2.8" />
<PackageVersion Include="NLog.Extensions.Logging" Version="5.3.8" />
<PackageVersion Include="NLog.Schema" Version="5.2.8" />
<PackageVersion Include="OpenAI" Version="2.5.0" />
<PackageVersion Include="OpenAI" Version="2.0.0" />
<PackageVersion Include="ReverseMarkdown" Version="4.1.0" />
<PackageVersion Include="RtfPipe" Version="2.0.7677.4303" />
<PackageVersion Include="ScipBe.Common.Office.OneNote" Version="3.0.1" />
@@ -94,29 +84,28 @@
<PackageVersion Include="StreamJsonRpc" Version="2.21.69" />
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
<!-- Package System.CodeDom added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Management but the 8.0.1 version wasn't published to nuget. -->
<PackageVersion Include="System.CodeDom" Version="9.0.10" />
<PackageVersion Include="System.CodeDom" Version="9.0.8" />
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
<PackageVersion Include="System.ComponentModel.Composition" Version="9.0.10" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="9.0.10" />
<PackageVersion Include="System.Data.OleDb" Version="9.0.10" />
<PackageVersion Include="System.ComponentModel.Composition" Version="9.0.8" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="9.0.8" />
<PackageVersion Include="System.Data.OleDb" Version="9.0.8" />
<!-- Package System.Data.SqlClient added to force it as a dependency of Microsoft.Windows.Compatibility to the latest version available at this time. -->
<PackageVersion Include="System.Data.SqlClient" Version="4.9.0" />
<!-- Package System.Diagnostics.EventLog added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Data.OleDb but the 8.0.1 version wasn't published to nuget. -->
<PackageVersion Include="System.Diagnostics.EventLog" Version="9.0.10" />
<PackageVersion Include="System.Diagnostics.EventLog" Version="9.0.8" />
<!-- Package System.Diagnostics.PerformanceCounter added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.11. -->
<PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="9.0.10" />
<PackageVersion Include="System.ClientModel" Version="1.7.0" />
<PackageVersion Include="System.Drawing.Common" Version="9.0.10" />
<PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="9.0.8" />
<PackageVersion Include="System.Drawing.Common" Version="9.0.8" />
<PackageVersion Include="System.IO.Abstractions" Version="22.0.13" />
<PackageVersion Include="System.IO.Abstractions.TestingHelpers" Version="22.0.13" />
<PackageVersion Include="System.Management" Version="9.0.10" />
<PackageVersion Include="System.Management" Version="9.0.8" />
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
<PackageVersion Include="System.Reactive" Version="6.0.1" />
<PackageVersion Include="System.Runtime.Caching" Version="9.0.10" />
<PackageVersion Include="System.ServiceProcess.ServiceController" Version="9.0.10" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.10" />
<PackageVersion Include="System.Text.Json" Version="9.0.10" />
<PackageVersion Include="System.Runtime.Caching" Version="9.0.8" />
<PackageVersion Include="System.ServiceProcess.ServiceController" Version="9.0.8" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.8" />
<PackageVersion Include="System.Text.Json" Version="9.0.8" />
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
<PackageVersion Include="UnicodeInformation" Version="2.6.0" />
<PackageVersion Include="UnitsNet" Version="5.56.0" />
@@ -124,6 +113,7 @@
<PackageVersion Include="WinUIEx" Version="2.8.0" />
<PackageVersion Include="WPF-UI" Version="3.0.5" />
<PackageVersion Include="WyHash" Version="1.0.5" />
<PackageVersion Include="YamlDotNet" Version="16.3.0" />
<PackageVersion Include="WixToolset.Heat" Version="5.0.2" />
<PackageVersion Include="WixToolset.Firewall.wixext" Version="5.0.2" />
<PackageVersion Include="WixToolset.Util.wixext" Version="5.0.2" />
@@ -138,4 +128,4 @@
<PackageVersion Include="Microsoft.VariantAssignment.Client" Version="2.4.17140001" />
<PackageVersion Include="Microsoft.VariantAssignment.Contract" Version="3.0.16990001" />
</ItemGroup>
</Project>
</Project>

View File

@@ -1495,10 +1495,10 @@ SOFTWARE.
- AdaptiveCards.Rendering.WinUI3
- AdaptiveCards.Templating
- Appium.WebDriver
- Azure.AI.OpenAI
- CoenM.ImageSharp.ImageHash
- CommunityToolkit.Common
- CommunityToolkit.Labs.WinUI.Controls.MarkdownTextBlock
- CommunityToolkit.Labs.WinUI.Controls.OpacityMaskView
- CommunityToolkit.Mvvm
- CommunityToolkit.WinUI.Animations
- CommunityToolkit.WinUI.Collections
@@ -1537,4 +1537,5 @@ SOFTWARE.
- UTF.Unknown
- WinUIEx
- WPF-UI
- WyHash
- WyHash
- YamlDotNet

View File

@@ -42,7 +42,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fancyzones", "fancyzones",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FancyZonesLib", "src\modules\fancyzones\FancyZonesLib\FancyZonesLib.vcxproj", "{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FancyZones.UnitTests", "src\modules\fancyzones\FancyZonesTests\UnitTests\UnitTests.vcxproj", "{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTests", "src\modules\fancyzones\FancyZonesTests\UnitTests\UnitTests.vcxproj", "{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}"
ProjectSection(ProjectDependencies) = postProject
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99} = {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}
EndProjectSection
@@ -66,7 +66,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerRenameLib", "src\modul
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerRenameTest", "src\modules\powerrename\testapp\PowerRenameTest.vcxproj", "{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerRename.UnitTests", "src\modules\powerrename\unittests\PowerRenameLibUnitTests.vcxproj", "{2151F984-E006-4A9F-92EF-C6DDE3DC8413}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerRenameLibUnitTests", "src\modules\powerrename\unittests\PowerRenameLibUnitTests.vcxproj", "{2151F984-E006-4A9F-92EF-C6DDE3DC8413}"
ProjectSection(ProjectDependencies) = postProject
{51920F1F-C28C-4ADF-8660-4238766796C2} = {51920F1F-C28C-4ADF-8660-4238766796C2}
{B25AC7A5-FB9F-4789-B392-D5C85E948670} = {B25AC7A5-FB9F-4789-B392-D5C85E948670}
@@ -316,13 +316,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardManagerEngine", "sr
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardManagerEngineLibrary", "src\modules\keyboardmanager\KeyboardManagerEngineLibrary\KeyboardManagerEngineLibrary.vcxproj", "{E496B7FC-1E99-4BAB-849B-0E8367040B02}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardManager.Engine.UnitTests", "src\modules\keyboardmanager\KeyboardManagerEngineTest\KeyboardManagerEngineTest.vcxproj", "{7F4B3A60-BC27-45A7-8000-68B0B6EA7466}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardManagerEngineTest", "src\modules\keyboardmanager\KeyboardManagerEngineTest\KeyboardManagerEngineTest.vcxproj", "{7F4B3A60-BC27-45A7-8000-68B0B6EA7466}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardManagerEditor", "src\modules\keyboardmanager\KeyboardManagerEditor\KeyboardManagerEditor.vcxproj", "{8DF78B53-200E-451F-9328-01EB907193AE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardManagerEditorLibrary", "src\modules\keyboardmanager\KeyboardManagerEditorLibrary\KeyboardManagerEditorLibrary.vcxproj", "{23D2070D-E4AD-4ADD-85A7-083D9C76AD49}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardManager.Editor.UnitTests", "src\modules\keyboardmanager\KeyboardManagerEditorTest\KeyboardManagerEditorTest.vcxproj", "{62173D9A-6724-4C00-A1C8-FB646480A9EC}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardManagerEditorTest", "src\modules\keyboardmanager\KeyboardManagerEditorTest\KeyboardManagerEditorTest.vcxproj", "{62173D9A-6724-4C00-A1C8-FB646480A9EC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "awake", "awake", "{127F38E0-40AA-4594-B955-5616BF206882}"
EndProject
@@ -334,12 +334,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Community.PowerToys.Run.Plu
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Community.PowerToys.Run.Plugin.UnitConverter.UnitTest", "src\modules\launcher\Plugins\Community.PowerToys.Run.Plugin.UnitConverter.UnitTest\Community.PowerToys.Run.Plugin.UnitConverter.UnitTest.csproj", "{3E424AD2-19E5-4AE6-B833-F53963EB5FC1}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shortcutguide", "shortcutguide", "{106CBECA-0701-4FC3-838C-9DF816A19AE2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShortcutGuideModuleInterface", "src\modules\ShortcutGuide\ShortcutGuideModuleInterface\ShortcutGuideModuleInterface.vcxproj", "{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShortcutGuide", "src\modules\ShortcutGuide\ShortcutGuide\ShortcutGuide.vcxproj", "{2EDB3EB4-FA92-4BFF-B2D8-566584837231}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FancyZonesModuleInterface", "src\modules\fancyzones\FancyZonesModuleInterface\FancyZonesModuleInterface.vcxproj", "{48804216-2A0E-4168-A6D8-9CD068D14227}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FancyZones", "src\modules\fancyzones\FancyZones\FancyZones.vcxproj", "{FF1D7936-842A-4BBB-8BEA-E9FE796DE700}"
@@ -451,7 +445,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FileLocksmithExt", "src\mod
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileLocksmithUI", "src\modules\FileLocksmith\FileLocksmithUI\FileLocksmithUI.csproj", "{E69B044A-2F8A-45AA-AD0B-256C59421807}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerToys.FileLocksmithLib.Interop", "src\modules\FileLocksmith\FileLocksmithLibInterop\FileLocksmithLibInterop.vcxproj", "{C604B37E-9D0E-4484-8778-E8B31B0E1B3A}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FileLocksmithLibInterop", "src\modules\FileLocksmith\FileLocksmithLibInterop\FileLocksmithLibInterop.vcxproj", "{C604B37E-9D0E-4484-8778-E8B31B0E1B3A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GPOWrapper", "src\common\GPOWrapper\GPOWrapper.vcxproj", "{E599C30B-9DC8-4E5A-BF27-93D4CCEDE788}"
EndProject
@@ -459,7 +453,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GPOWrapperProjection", "src
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Peek", "Peek", "{17B4FA70-001E-4D33-BBBB-0D142DBC2E20}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Peek", "src\modules\peek\peek\peek.vcxproj", "{A1425B53-3D61-4679-8623-E64A0D3D0A48}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "peek", "src\modules\peek\peek\peek.vcxproj", "{A1425B53-3D61-4679-8623-E64A0D3D0A48}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Peek.UI", "src\modules\peek\Peek.UI\Peek.UI.csproj", "{9D7A6DE0-7D27-424D-ABAE-41B2161F9A03}"
EndProject
@@ -574,7 +568,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PowerToys.Settings.DSC.Sche
{020A7474-3601-4160-A159-D7B70B77B15F} = {020A7474-3601-4160-A159-D7B70B77B15F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NewPlus.ShellExtension", "src\modules\NewPlus\NewShellExtensionContextMenu\NewShellExtensionContextMenu.vcxproj", "{8ACB33D9-C95B-47D4-8363-9731EE0930A0}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NewShellExtensionContextMenu", "src\modules\NewPlus\NewShellExtensionContextMenu\NewShellExtensionContextMenu.vcxproj", "{8ACB33D9-C95B-47D4-8363-9731EE0930A0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "New+", "New+", "{CA716AE6-FE5C-40AC-BB8F-2C87912687AC}"
EndProject
@@ -703,7 +697,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.System
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CmdPalKeyboardService", "src\modules\cmdpal\CmdPalKeyboardService\CmdPalKeyboardService.vcxproj", "{5F63C743-F6CE-4DBA-A200-2B3F8A14E8C2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerRename.FuzzTests", "src\modules\powerrename\PowerRename.FuzzingTest\PowerRename.FuzzingTest.vcxproj", "{2694E2FB-DCD5-4BFF-A418-B6C3C7CE3B8E}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerRename.FuzzingTest", "src\modules\powerrename\PowerRename.FuzzingTest\PowerRename.FuzzingTest.vcxproj", "{2694E2FB-DCD5-4BFF-A418-B6C3C7CE3B8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BgcodePreviewHandler", "src\modules\previewpane\BgcodePreviewHandler\BgcodePreviewHandler.csproj", "{9E0CBC06-F29A-4810-B93C-97D53863B95E}"
EndProject
@@ -822,18 +816,24 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.WebSea
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.Shell.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.Shell.UnitTests\Microsoft.CmdPal.Ext.Shell.UnitTests.csproj", "{E816D7B4-4688-4ECB-97CC-3D8E798F3833}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CursorWrap", "src\modules\MouseUtils\CursorWrap\CursorWrap.vcxproj", "{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{3DCCD936-D085-4869-A1DE-CA6A64152C94}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LightSwitch.UITests", "src\modules\LightSwitch\Tests\LightSwitch.UITests\LightSwitch.UITests.csproj", "{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests\Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests.csproj", "{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanguageModelProvider", "src\common\LanguageModelProvider\LanguageModelProvider.csproj", "{45354F4F-1414-45CE-B600-51CD1209FD19}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.UI.ViewModels.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.UI.ViewModels.UnitTests\Microsoft.CmdPal.UI.ViewModels.UnitTests.csproj", "{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ShortcutGuide", "ShortcutGuide", "{17A43950-5FA1-47AC-A4E7-2E6E4A3C32D5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShortcutGuide.CPPProject", "src\modules\ShortcutGuide\ShortcutGuide.CPPProject\ShortcutGuide.CPPProject.vcxproj", "{C992FD2C-83B8-4941-9FC1-09730068D8EC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShortcutGuide.IndexYmlGenerator", "src\modules\ShortcutGuide\ShortcutGuide.IndexYmlGenerator\ShortcutGuide.IndexYmlGenerator.csproj", "{30F57201-9B54-5253-8033-8A28ECD3F1CE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShortcutGuide.Ui", "src\modules\ShortcutGuide\ShortcutGuide.Ui\ShortcutGuide.Ui.csproj", "{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShortcutGuideModuleInterface", "src\modules\ShortcutGuide\ShortcutGuideModuleInterface\ShortcutGuideModuleInterface.vcxproj", "{E487304A-B1FB-4E6B-8E70-014051AF5B99}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM64 = Debug|ARM64
@@ -1474,22 +1474,6 @@ Global
{3E424AD2-19E5-4AE6-B833-F53963EB5FC1}.Release|ARM64.Build.0 = Release|ARM64
{3E424AD2-19E5-4AE6-B833-F53963EB5FC1}.Release|x64.ActiveCfg = Release|x64
{3E424AD2-19E5-4AE6-B833-F53963EB5FC1}.Release|x64.Build.0 = Release|x64
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}.Debug|ARM64.ActiveCfg = Debug|ARM64
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}.Debug|ARM64.Build.0 = Debug|ARM64
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}.Debug|x64.ActiveCfg = Debug|x64
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}.Debug|x64.Build.0 = Debug|x64
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}.Release|ARM64.ActiveCfg = Release|ARM64
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}.Release|ARM64.Build.0 = Release|ARM64
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}.Release|x64.ActiveCfg = Release|x64
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81}.Release|x64.Build.0 = Release|x64
{2EDB3EB4-FA92-4BFF-B2D8-566584837231}.Debug|ARM64.ActiveCfg = Debug|ARM64
{2EDB3EB4-FA92-4BFF-B2D8-566584837231}.Debug|ARM64.Build.0 = Debug|ARM64
{2EDB3EB4-FA92-4BFF-B2D8-566584837231}.Debug|x64.ActiveCfg = Debug|x64
{2EDB3EB4-FA92-4BFF-B2D8-566584837231}.Debug|x64.Build.0 = Debug|x64
{2EDB3EB4-FA92-4BFF-B2D8-566584837231}.Release|ARM64.ActiveCfg = Release|ARM64
{2EDB3EB4-FA92-4BFF-B2D8-566584837231}.Release|ARM64.Build.0 = Release|ARM64
{2EDB3EB4-FA92-4BFF-B2D8-566584837231}.Release|x64.ActiveCfg = Release|x64
{2EDB3EB4-FA92-4BFF-B2D8-566584837231}.Release|x64.Build.0 = Release|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|ARM64.ActiveCfg = Debug|ARM64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|ARM64.Build.0 = Debug|ARM64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x64.ActiveCfg = Debug|x64
@@ -2992,14 +2976,6 @@ Global
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|ARM64.Build.0 = Release|ARM64
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|x64.ActiveCfg = Release|x64
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|x64.Build.0 = Release|x64
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}.Debug|ARM64.ActiveCfg = Debug|ARM64
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}.Debug|ARM64.Build.0 = Debug|ARM64
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}.Debug|x64.ActiveCfg = Debug|x64
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}.Debug|x64.Build.0 = Debug|x64
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}.Release|ARM64.ActiveCfg = Release|ARM64
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}.Release|ARM64.Build.0 = Release|ARM64
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}.Release|x64.ActiveCfg = Release|x64
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5}.Release|x64.Build.0 = Release|x64
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|ARM64.ActiveCfg = Debug|ARM64
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|ARM64.Build.0 = Debug|ARM64
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|ARM64.Deploy.0 = Debug|ARM64
@@ -3020,14 +2996,6 @@ Global
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Release|ARM64.Build.0 = Release|ARM64
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Release|x64.ActiveCfg = Release|x64
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Release|x64.Build.0 = Release|x64
{45354F4F-1414-45CE-B600-51CD1209FD19}.Debug|ARM64.ActiveCfg = Debug|ARM64
{45354F4F-1414-45CE-B600-51CD1209FD19}.Debug|ARM64.Build.0 = Debug|ARM64
{45354F4F-1414-45CE-B600-51CD1209FD19}.Debug|x64.ActiveCfg = Debug|x64
{45354F4F-1414-45CE-B600-51CD1209FD19}.Debug|x64.Build.0 = Debug|x64
{45354F4F-1414-45CE-B600-51CD1209FD19}.Release|ARM64.ActiveCfg = Release|ARM64
{45354F4F-1414-45CE-B600-51CD1209FD19}.Release|ARM64.Build.0 = Release|ARM64
{45354F4F-1414-45CE-B600-51CD1209FD19}.Release|x64.ActiveCfg = Release|x64
{45354F4F-1414-45CE-B600-51CD1209FD19}.Release|x64.Build.0 = Release|x64
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Debug|ARM64.Build.0 = Debug|ARM64
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Debug|x64.ActiveCfg = Debug|x64
@@ -3036,6 +3004,38 @@ Global
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Release|ARM64.Build.0 = Release|ARM64
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Release|x64.ActiveCfg = Release|x64
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Release|x64.Build.0 = Release|x64
{C992FD2C-83B8-4941-9FC1-09730068D8EC}.Debug|ARM64.ActiveCfg = Debug|ARM64
{C992FD2C-83B8-4941-9FC1-09730068D8EC}.Debug|ARM64.Build.0 = Debug|ARM64
{C992FD2C-83B8-4941-9FC1-09730068D8EC}.Debug|x64.ActiveCfg = Debug|x64
{C992FD2C-83B8-4941-9FC1-09730068D8EC}.Debug|x64.Build.0 = Debug|x64
{C992FD2C-83B8-4941-9FC1-09730068D8EC}.Release|ARM64.ActiveCfg = Release|ARM64
{C992FD2C-83B8-4941-9FC1-09730068D8EC}.Release|ARM64.Build.0 = Release|ARM64
{C992FD2C-83B8-4941-9FC1-09730068D8EC}.Release|x64.ActiveCfg = Release|x64
{C992FD2C-83B8-4941-9FC1-09730068D8EC}.Release|x64.Build.0 = Release|x64
{30F57201-9B54-5253-8033-8A28ECD3F1CE}.Debug|ARM64.ActiveCfg = Debug|ARM64
{30F57201-9B54-5253-8033-8A28ECD3F1CE}.Debug|ARM64.Build.0 = Debug|ARM64
{30F57201-9B54-5253-8033-8A28ECD3F1CE}.Debug|x64.ActiveCfg = Debug|x64
{30F57201-9B54-5253-8033-8A28ECD3F1CE}.Debug|x64.Build.0 = Debug|x64
{30F57201-9B54-5253-8033-8A28ECD3F1CE}.Release|ARM64.ActiveCfg = Release|ARM64
{30F57201-9B54-5253-8033-8A28ECD3F1CE}.Release|ARM64.Build.0 = Release|ARM64
{30F57201-9B54-5253-8033-8A28ECD3F1CE}.Release|x64.ActiveCfg = Release|x64
{30F57201-9B54-5253-8033-8A28ECD3F1CE}.Release|x64.Build.0 = Release|x64
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}.Debug|ARM64.Build.0 = Debug|ARM64
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}.Debug|x64.ActiveCfg = Debug|x64
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}.Debug|x64.Build.0 = Debug|x64
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}.Release|ARM64.ActiveCfg = Release|ARM64
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}.Release|ARM64.Build.0 = Release|ARM64
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}.Release|x64.ActiveCfg = Release|x64
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D}.Release|x64.Build.0 = Release|x64
{E487304A-B1FB-4E6B-8E70-014051AF5B99}.Debug|ARM64.ActiveCfg = Debug|ARM64
{E487304A-B1FB-4E6B-8E70-014051AF5B99}.Debug|ARM64.Build.0 = Debug|ARM64
{E487304A-B1FB-4E6B-8E70-014051AF5B99}.Debug|x64.ActiveCfg = Debug|x64
{E487304A-B1FB-4E6B-8E70-014051AF5B99}.Debug|x64.Build.0 = Debug|x64
{E487304A-B1FB-4E6B-8E70-014051AF5B99}.Release|ARM64.ActiveCfg = Release|ARM64
{E487304A-B1FB-4E6B-8E70-014051AF5B99}.Release|ARM64.Build.0 = Release|ARM64
{E487304A-B1FB-4E6B-8E70-014051AF5B99}.Release|x64.ActiveCfg = Release|x64
{E487304A-B1FB-4E6B-8E70-014051AF5B99}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -3131,9 +3131,6 @@ Global
{D940E07F-532C-4FF3-883F-790DA014F19A} = {127F38E0-40AA-4594-B955-5616BF206882}
{BB23A474-5058-4F75-8FA3-5FE3DE53CDF4} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
{3E424AD2-19E5-4AE6-B833-F53963EB5FC1} = {B9617A31-0F0A-4397-851D-BF2FBEE32D7F}
{106CBECA-0701-4FC3-838C-9DF816A19AE2} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
{2D604C07-51FC-46BB-9EB7-75AECC7F5E81} = {106CBECA-0701-4FC3-838C-9DF816A19AE2}
{2EDB3EB4-FA92-4BFF-B2D8-566584837231} = {106CBECA-0701-4FC3-838C-9DF816A19AE2}
{48804216-2A0E-4168-A6D8-9CD068D14227} = {D1D6BC88-09AE-4FB4-AD24-5DED46A791DD}
{FF1D7936-842A-4BBB-8BEA-E9FE796DE700} = {D1D6BC88-09AE-4FB4-AD24-5DED46A791DD}
{5043CECE-E6A7-4867-9CBE-02D27D83747A} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
@@ -3361,12 +3358,15 @@ Global
{E816D7B3-4688-4ECB-97CC-3D8E798F3832} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
{E816D7B2-4688-4ECB-97CC-3D8E798F3831} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
{E816D7B4-4688-4ECB-97CC-3D8E798F3833} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
{48A1DB8C-5DF8-4FB3-9E14-2B67F3F2D8B5} = {322566EF-20DC-43A6-B9F8-616AF942579A}
{3DCCD936-D085-4869-A1DE-CA6A64152C94} = {5B201255-53C8-490B-A34F-01F05D48A477}
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F} = {3DCCD936-D085-4869-A1DE-CA6A64152C94}
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
{45354F4F-1414-45CE-B600-51CD1209FD19} = {1AFB6476-670D-4E80-A464-657E01DFF482}
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
{17A43950-5FA1-47AC-A4E7-2E6E4A3C32D5} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
{C992FD2C-83B8-4941-9FC1-09730068D8EC} = {17A43950-5FA1-47AC-A4E7-2E6E4A3C32D5}
{30F57201-9B54-5253-8033-8A28ECD3F1CE} = {17A43950-5FA1-47AC-A4E7-2E6E4A3C32D5}
{D5BD72DD-B461-FDD4-FD7D-AF0B620AE75D} = {17A43950-5FA1-47AC-A4E7-2E6E4A3C32D5}
{E487304A-B1FB-4E6B-8E70-014051AF5B99} = {17A43950-5FA1-47AC-A4E7-2E6E4A3C32D5}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0}

View File

@@ -7,23 +7,19 @@
<h1 align="center">
<span>Microsoft PowerToys</span>
</h1>
<p align="center">
<span align="center">Microsoft PowerToys is a collection of utilities that help you customize Windows and streamline everyday tasks.</span>
</p>
<h3 align="center">
<a href="#-installation">Installation</a>
<span> · </span>
<span> . </span>
<a href="https://aka.ms/powertoys-docs">Documentation</a>
<span> · </span>
<span> . </span>
<a href="https://aka.ms/powertoys-releaseblog">Blog</a>
<span> · </span>
<span> . </span>
<a href="#-whats-new">Release notes</a>
</h3>
<br/><br/>
## 🔨 Utilities
PowerToys includes over 25 utilities to help you customize and optimize your Windows experience:
Microsoft PowerToys is a collection of utilities that help you customize Windows and streamline everyday tasks.
<br/><br/>
| | | |
|---|---|---|
@@ -41,13 +37,20 @@ PowerToys includes over 25 utilities to help you customize and optimize your Win
## 📋 Installation
For detailed installation instructions and system requirements, visit the [installation docs](https://learn.microsoft.com/windows/powertoys/install).
For detailed installation instructions, visit the [installation docs](https://learn.microsoft.com/windows/powertoys/install).
Before you begin, make sure your device meets the system requirements:
> [!NOTE]
> - Windows 11 or Windows 10 version 2004 (20H1 / build 19041) or newer
> - 64-bit processor: x64 or ARM64
> - Latest stable version of [Microsoft Edge WebView2 Runtime](https://go.microsoft.com/fwlink/p/?LinkId=2124703) is installed via the bootstrapper during setup
Choose one of the installation methods below:
But to get started quickly, choose one of the installation methods below:
<br/><br/>
<details open>
<summary><strong>Download .exe from GitHub</strong></summary>
<br/>
<summary>Download .exe from GitHub</summary>
Go to the [PowerToys GitHub releases][github-release-link], click Assets to reveal the downloads, and choose the installer that matches your architecture and install scope. For most devices, that's the x64 per-user installer.
<!-- items that need to be updated release to release -->
@@ -64,11 +67,11 @@ Go to the [PowerToys GitHub releases][github-release-link], click Assets to reve
| Per user - ARM64 | [PowerToysUserSetup-0.95.1-arm64.exe][ptUserArm64] |
| Machine wide - x64 | [PowerToysSetup-0.95.1-x64.exe][ptMachineX64] |
| Machine wide - ARM64 | [PowerToysSetup-0.95.1-arm64.exe][ptMachineArm64] |
</details>
<details>
<summary><strong>Microsoft Store</strong></summary>
<br/>
<summary>Microsoft Store</summary>
You can easily install PowerToys from the Microsoft Store:
<p>
<a style="text-decoration:none" href="https://aka.ms/getPowertoys">
@@ -79,9 +82,10 @@ You can easily install PowerToys from the Microsoft Store:
</p>
</details>
<details>
<summary><strong>WinGet</strong></summary>
<br/>
<summary>WinGet</summary>
Download PowerToys from [WinGet][winget-link]. Updating PowerToys via winget will respect the current PowerToys installation scope. To install PowerToys, run the following command from the command line / PowerShell:
*User scope installer [default]*
@@ -96,8 +100,8 @@ winget install --scope machine Microsoft.PowerToys -s winget
</details>
<details>
<summary><strong>Other methods</strong></summary>
<br/>
<summary>Other methods</summary>
There are [community driven install methods](./doc/unofficialInstallMethods.md) such as Chocolatey and Scoop. If these are your preferred install solutions, you can find the install instructions there.
</details>

1
deps/cziplib vendored Submodule

Submodule deps/cziplib added at 7a57414261

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -9,12 +9,14 @@
[Pull Requests](https://github.com/microsoft/PowerToys/pulls?q=is%3Apr+is%3Aopen+label%3A%22Product-Shortcut+Guide%22+)
## Overview
Shortcut Guide is a PowerToy that displays an overlay of available keyboard shortcuts when the Windows key is pressed and held. It provides a visual reference for Windows key combinations, helping users discover and utilize built-in Windows shortcuts.
Shortcut Guide is a PowerToy that displays an overlay of available keyboard shortcuts when a user-set keyboard shortcut is pressed. It helps users discover and remember keyboard shortcuts for Windows and apps.
> [!NOTE]
> The spec for the manifest files is in development and will be linked here once available.
## Usage
- Press and hold the Windows key to display the overlay of available shortcuts
- Press the hotkey again to dismiss the overlay
- The overlay displays Windows shortcuts with their corresponding actions
- Press the user-defined hotkey to display the overlay
- Press the hotkey again or press ESC to dismiss the overlay
## Build and Debug Instructions
@@ -25,67 +27,83 @@ Shortcut Guide is a PowerToy that displays an overlay of available keyboard shor
4. The executable is named PowerToys.ShortcutGuide.exe
### Debug
1. Right-click the ShortcutGuide project and select 'Set as Startup Project'
1. Right-click the ShortcutGuide.Ui project and select 'Set as Startup Project'
2. Right-click the project again and select 'Debug'
## Code Structure
> [!NOTE]
> When run in debug mode, the window behaves differently than in release mode. It will not automatically close when loosing focus, it will be displayed on top of all other windows, and it is not hidden from the taskbar.
![Diagram](../images/shortcutguide/diagram.png)
## Project Structure
### Core Files
The Shortcut Guide module consists of the following 4 projects:
#### [`dllmain.cpp`](/src/modules/shortcut_guide/dllmain.cpp)
Contains DLL boilerplate code. Implements the PowertoyModuleIface, including enable/disable functionality and GPO policy handling. Captures hotkey events and starts the PowerToys.ShortcutGuide.exe process to display the shortcut guide window.
### [`ShortcutGuide.Ui`](/src/modules/ShortcutGuide/ShortcutGuide.Ui/ShortcutGuide.Ui.csproj
#### [`shortcut_guide.cpp`](/src/modules/shortcut_guide/shortcut_guide.cpp)
Contains the module interface code. It initializes the settings values and the keyboard event listener. Defines the OverlayWindow class, which manages the overall logic and event handling for the PowerToys Shortcut Guide.
This is the main UI project for the Shortcut Guide module. Upon startup it does the following tasks:
#### [`overlay_window.cpp`](/src/modules/shortcut_guide/overlay_window.cpp)
Contains the code for loading the SVGs, creating and rendering of the overlay window. Manages and displays overlay windows with SVG graphics through two main classes:
- D2DOverlaySVG: Handles loading, resizing, and manipulation of SVG graphics
- D2DOverlayWindow: Manages the display and behavior of the overlay window
1. Copies the built-in manifest files to the users manifest directory (overwriting existing files).
2. Generate the `index.yml` manifest file.
3. Populate the PowerToys shortcut manifest with the user-defined shortcuts.
4. Starts the UI.
#### [`keyboard_state.cpp`](/src/modules/shortcut_guide/keyboard_state.cpp)
Contains helper methods for checking the current state of the keyboard.
### [`ShortcutGuide.CPPProject`](/src/modules/ShortcutGuide/ShortcutGuide.CPPProject/ShortcutGuide.CPPProject.vcxproj)
#### [`target_state.cpp`](/src/modules/shortcut_guide/target_state.cpp)
State machine that handles the keyboard events. It's responsible for deciding when to show the overlay, when to suppress the Start menu (if the overlay is displayed long enough), etc. Handles state transitions and synchronization to ensure the overlay is shown or hidden appropriately based on user interactions.
This project exports certain functions to be used by the Shortcut Guide module, that were not able to be implemented in C#.
#### [`trace.cpp`](/src/modules/shortcut_guide/trace.cpp)
Contains code for telemetry.
#### [`excluded_app.cpp`](/src/modules/ShortcutGuide/ShortcutGuide.CPPProject/excluded_app.cpp)
### Supporting Files
This file contains one function with the following signature:
#### [`animation.cpp`](/src/modules/shortcut_guide/animation.cpp)
Handles the timing and interpolation of animations. Calculates the current value of an animation based on elapsed time and a specified easing function.
```cpp
__declspec(dllexport) bool IsCurrentWindowExcludedFromShortcutGuide()
```
#### [`d2d_svg.cpp`](/src/modules/shortcut_guide/d2d_svg.cpp)
Provides functionality for loading, resizing, recoloring, rendering, and manipulating SVG images using Direct2D.
This function checks if the current window is excluded from the Shortcut Guide overlay. It returns `true` if the current window is excluded otherwise it returns `false`.
#### [`d2d_text.cpp`](/src/modules/shortcut_guide/d2d_text.cpp)
Handles creation, resizing, alignment, and rendering of text using Direct2D and DirectWrite.
#### [`tasklist_positions.cpp`](/src/modules/ShortcutGuide/ShortcutGuide.CPPProject/tasklist_positions.cpp)
#### [`d2d_window.cpp`](/src/modules/shortcut_guide/d2d_window.cpp)
Manages a window using Direct2D and Direct3D for rendering. Handles window creation, resizing, rendering, and destruction.
This file contains helper functions to retrieve the positions of the taskbar buttons. It exports the following function:
#### [`native_event_waiter.cpp`](/src/modules/shortcut_guide/native_event_waiter.cpp)
Waits for a named event and executes a specified action when the event is triggered. Uses a separate thread to handle event waiting and action execution.
```cpp
__declspec(dllexport) TasklistButton* get_buttons(HMONITOR monitor, int* size)
```
#### [`tasklist_positions.cpp`](/src/modules/shortcut_guide/tasklist_positions.cpp)
Handles retrieving and updating the positions and information of taskbar buttons in Windows.
This function retrieves the positions of the taskbar buttons for a given monitor. It returns an array of `TasklistButton` structures (max 10), which contain the position and size of each button.
#### [`main.cpp`](/src/modules/shortcut_guide/main.cpp)
The entry point for the PowerToys Shortcut Guide application. Handles initialization, ensures single instance execution, manages parent process termination, creates and displays the overlay window, and runs the main event loop.
`monitor` must be the monitor handle of the monitor containing the taskbar instance of which the buttons should be retrieved.
`size` will contain the resulting array size.
It determines the positions through Windows `FindWindowEx` function.
For the primary taskbar it searches for:
* A window called "Shell_TrayWnd"
* that contains a window called "ReBarWindow32"
* that contains a window called "MSTaskSwWClass"
* that contains a window called "MSTaskListWClass"
For any secondary taskbar it searches for:
* A window called "Shell_SecondaryTrayWnd"
* that contains a window called "WorkerW"
* that contains a window called "MSTaskListWClass"
It then enumerates all the button elements inside "MSTaskListWClass" while skipping such with a same name (which implies the user does not use combining taskbar buttons)
### [`ShortcutGuide.IndexYmlGenerator`](/src/modules/ShortcutGuide/ShortcutGuide.IndexYmlGenerator/)
This application generates the `index.yml` manifest file.
It is a separate project so that its code can be easier ported to WinGet in the future.
### [`ShortcutGuideModuleInterface`](/src/modules/ShortcutGuide/ShortcutGuideModuleInterface/ShortcutGuideModuleInterface.vcxproj)
The module interface that handles opening and closing the user interface.
## Features and Limitations
- The overlay displays Windows shortcuts (Windows key combinations)
- The module supports localization, but only for the Windows controls on the left side of the overlay
- Currently the displayed shortcuts (Except the ones from PowerToys) are not localized.
- It's currently rated as a P3 (lower priority) module
## Future Development
A community-contributed version 2 is in development that will support:
- Application-specific shortcuts based on the active application
- Additional shortcuts beyond Windows key combinations
- PowerToys shortcuts
- Implementing with WinGet to get new shortcut manifest files
- Adding localization support for the built-in manifest files

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1,110 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
## General Settings
**Admin mode:**
- [x] restart as admin and verify FZ can snap an elevated window
- [x] restart PT and verify it now runs as user
* restart as admin and set "Always run as admin"
- [x] restart PT and verify it still runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
**Elevated app notification:**
- run PT as a user
- open an elevated app (i.e. Task Manager)
- shift-drag the elevated app window
- [x] verify that a notification appears
- restart PT as admin
- shift-drag the elevated app window
- [x] verify the notification doesn't appear
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Edit grid layout, verify that split, merge and resize zones works as expected.
- [x] Disable FZ
- [x] Reenable FZ, verify that everything is in the same state as it was before disabling.
## Shortcut Guide
* Run PowerToys as user:
- [x] Verify holding the `Win` key opens the guide
- [x] Verify `Win + ?` opens the guide
* In the Settings change the duration from 900ms to 200ms
- [x] Verify the guide open after quicker when holding the `Win` key
* Restore the 900ms duration
* Run PowerToys as admin:
- [x] Open an elevated app and keep it on foreground
- [x] Verify holding the `Win` key opens the guide
- [x] Verify `Win + ?` opens the guide
* Run PowerToys as user
- [x] Verify the taskbar shortcut `Win + digit` works
- [x] Verify the first four shortcuts work

View File

@@ -1,159 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## Image Resizer
- [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] 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
- [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
## 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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.
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [x] when PowerToys is running unelevated on start-up
- [ ] 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.
* Check that each of the plugins is working:
- [x] Program - launch a Win32 application and a packaged application
- [x] Calculator - ensure a mathematical input returns a correct response and is copied on enter.
- [x] Indexer - open a file on the disk.
- [x] Shell - execute a command. Enter the action keyword `>`, followed by the query, both with and without space.
- [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, copy key path, open registry editor. Enter the action keyword `:` to get the root keys.
- [x] System - test lock, sign out, restart, empty recycle bin.
- [x] Disable PT Run and ensure that the hotkey doesn't bring up PT Run.
- [x] Test tab navigation.
* Test Plugin Manager
- [x] Enable/disable plugins and verify changes are populated to PT Run
- [x] Change `Direct activation phrase` and verify changes are populated to PT Run
- [x] Change `Include in global result` and verify changes are populated to PT Run
- [x] Clear `Direct activation phrase` and uncheck `Include in global result`. Verify a warning message
- [x] Disable all plugins and verify the warning message
## Shortcut Guide
* Run PowerToys as user:
- [x] Verify holding the `Win` key opens the guide
- [x] Verify `Win + ?` opens the guide
* In the Settings change the duration from 900ms to 200ms
- [x] Verify the guide open after quicker when holding the `Win` key
* Restore the 900ms duration
* Run PowerToys as admin:
* Open an elevated app and keep it on foreground
- [x] Verify holding the `Win` key opens the guide
- [x] Verify `Win + ?` opens the guide
* Run PowerToys as user
- [x] Verify the first four shortcuts work
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link

View File

@@ -1,241 +0,0 @@
## 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). In case version of PowerToys is still 0.0.1 delete old version and install new.
- [X] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [X] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
## General Settings
**Admin mode:**
- [X] restart as admin and verify FZ can snap an elevated window
- [X] restart PT and verify it now runs as user
* restart as admin and set "Always run as admin"
- [X] restart PT and verify it still runs as admin
* if it's not on, turn on "Run at startup"
- [X] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [X] reboot the machine and verify it now runs as user
**Modules on/off:**
- [X] turn off all the modules and verify all module are off
- [X] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [X] turn on all the module, all module are now working
- [X] restart PT and verify that all module are still on in the settings page and they are actually working
**Elevated app notification:**
- run PT as a user
- open an elevated app (i.e. Task Manager)
- shift-drag the elevated app window
- [X] verify that a notification appears
- restart PT as admin
- shift-drag the elevated app window
- [X] verify the notification doesn't appear
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [X] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [X] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [X] 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.
- [X] Edit grid layout, verify that split, merge and resize zones works as expected.
- [X] Disable FZ
- [X] Reenable FZ, verify that everything is in the same state as it was before disabling.
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [X] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [X] verify Preview Pane works for the SVG files
- [X] 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
- [X] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [X] 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
- [X] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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] 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] Try to resize wmf image. Resized image has to be of fallback encoder type
- [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
- [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
## Keyboard Manager
UI Validation:
- [X] 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.
- [X] 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.
- [X] 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.
- [X] 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.
- [X] 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
- [X] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [X] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [X] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [X] 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)
- [X] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [X] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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
- [ ] 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).
* 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.
* 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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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`.
- [ ] System - test `shutdown`.
- [X] Disable PT Run and ensure that the hotkey doesn't bring up PT Run.
- [X] Test tab navigation.
* Test Plugin Manager
- [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.
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [X] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [X] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link

View File

@@ -1,131 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart as admin and verify FZ can snap an elevated window
- [x] restart PT and verify it now runs as user
* restart as admin and set "Always run as admin"
- [x] restart PT and verify it still runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
**Elevated app notification:**
- run PT as a user
- open an elevated app (i.e. Task Manager)
- shift-drag the elevated app window
- [x] verify that a notification appears
- restart PT as admin
- shift-drag the elevated app window
- [x] verify the notification doesn't appear
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Edit grid layout, verify that split, merge and resize zones works as expected.
- [x] Disable FZ
- [x] Reenable FZ, verify that everything is in the same state as it was before disabling.
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.

View File

@@ -1,151 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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] 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
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link

View File

@@ -1,96 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Reenable FZ, verify that everything is in the same state as it was before disabling.
## Shortcut Guide
* Run PowerToys as user:
- [x] Verify `Win + Shift + /` opens the guide
- [x] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works
* Restore the `Win + Shift + /` hotkey
- [x] Open the guide and close it pressing `Esc`
- [x] 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
- [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

View File

@@ -1,125 +0,0 @@
## 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)
- [X] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [X] restart as admin and verify FZ can snap an elevated window
- [X] restart PT and verify it now runs as user
* restart as admin and set "Always run as admin"
- [X] restart PT and verify it still runs as admin
* if it's not on, turn on "Run at startup"
- [X] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [X] reboot the machine and verify it now runs as user
**Modules on/off:**
- [X] turn off all the modules and verify all module are off
- [X] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [X] turn on all the module, all module are now working
- [X] restart PT and verify that all module are still on in the settings page and they are actually working
**Elevated app notification:**
- run PT as a user
- open an elevated app (i.e. Task Manager)
- shift-drag the elevated app window
- [X] verify that a notification appears
- restart PT as admin
- shift-drag the elevated app window
- [X] verify the notification doesn't appear
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Edit grid layout, verify that split, merge and resize zones works as expected.
- [x] Disable FZ
- [x] Reenable FZ, verify that everything is in the same state as it was before disabling.
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [X] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [X] verify Preview Pane works for the SVG files
- [X] 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
- [X] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [X] 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
- [X] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Keyboard Manager
UI Validation:
- [X] 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.
- [X] 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.
- [X] 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.
- [X] 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.
- [X] 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
- [X] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [X] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [X] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [X] 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)
- [X] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [X] 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.

View File

@@ -1,129 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## Image Resizer
- [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] 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
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [x] Verify `Win + Shift + /` opens the guide
- [x] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works
* Restore the `Win + Shift + /` hotkey
- [x] Open the guide and close it pressing `Esc`
- [x] Open the guide and close it pressing and releasing the `Win` key
* Run PowerToys as admin:
- [x] Open an elevated app and keep it on foreground
- [x] Verify `Win + Shift + /` opens the guide
* Run PowerToys as user
- [x] Verify some of the shortcuts shown in the guide work and the guide is closed when pressed
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link

View File

@@ -1,230 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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] 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
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [x] Verify `Win + Shift + /` opens the guide
- [x] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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

View File

@@ -1,162 +0,0 @@
## Functional tests
Regressions:
- [X] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [X] https://github.com/microsoft/PowerToys/issues/1524
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [X] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [X] verify Preview Pane works for the SVG files
- [X] 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
- [X] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [X] 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
- [X] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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] 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
- [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
## Keyboard Manager
UI Validation:
- [X] 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.
- [X] 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.
- [X] 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.
- [X] 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.
- [X] 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
- [X] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [X] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [X] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [X] 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)
- [X] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [X] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [X] Verify `Win + Shift + /` opens the guide
- [X] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works
* Restore the `Win + Shift + /` hotkey.
- [X] Open the guide and close it pressing `Esc`
- [X] 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:
- [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
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [X] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [X] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link

View File

@@ -1,172 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link

View File

@@ -1,84 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.

View File

@@ -1,130 +0,0 @@
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## Image Resizer
- [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] 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
## Expresso
- [x] Try out the features and see if they work, no list at this time.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.

View File

@@ -1,130 +0,0 @@
## Shortcut Guide
* Run PowerToys as user:
- [X] Verify `Win + Shift + /` opens the guide
- [X] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works
* Restore the `Win + Shift + /` hotkey.
- [X] Open the guide and close it pressing `Esc`
- [X] 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:
- [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
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [X] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [X] verify Preview Pane works for the SVG files
- [X] 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
- [X] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [X] 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
- [X] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Expresso
- [X] Try out the features and see if they work, no list at this time.
## Keyboard Manager
UI Validation:
- [X] 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.
- [X] 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.
- [X] 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.
- [X] 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.
- [X] 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
- [X] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [X] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [X] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [X] 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)
- [X] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [X] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.

View File

@@ -1,80 +0,0 @@
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.

View File

@@ -1,97 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## Shortcut Guide
* Run PowerToys as user:
- [x] Verify `Win + Shift + /` opens the guide
- [x] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## Image Resizer
- [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] 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

View File

@@ -1,95 +0,0 @@
## Install tests
- [x] install a **previous version** on a clean machine (a clean machine doesn't have the `%localappdata%\Microsoft\PowerToys` folder)
- [x] open the Settings and for each module change at least one option
- [x] open the FancyZones editor and create two custom layouts:
- [x] a canvas layout with 2 zones, use unicode chars in the layout's name
- [x] one from grid template using 4 zones and splitting one zone
- [x] apply the custom canvas layout to the primary desktop
- [x] create a virtual desktop and apply the custom grid layout
- [x] if you have a second monitor apply different templates layouts for the primary desktop and for the second virtual desktop
* [x] install the new version (it will uninstall the old version and install the new version)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.
## Shortcut Guide
* Run PowerToys as user:
- [x] Verify `Win + Shift + /` opens the guide
- [x] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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

View File

@@ -1,148 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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] 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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Espresso
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,117 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## Espresso
- [ ] Try out the features and see if they work, no list at this time.

View File

@@ -1,126 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## Image Resizer
- [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] 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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [X] Verify `Win + Shift + /` opens the guide
- [X] Change the hotkey to a different shortcut (e.g. `Win + /`) and verify it works
* Restore the `Win + Shift + /` hotkey.
- [X] Open the guide and close it pressing `Esc`
- [X] 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:
- [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
### OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [X] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [X] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link

View File

@@ -1,96 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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
- [issue reported internally] 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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [x] Verify `Win + Shift + /` opens the guide // holding doesn't work
- [x] Verify some of the shortcuts shown in the guide work and the guide is closed when pressed

View File

@@ -1,148 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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] 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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Espresso
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,117 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## Espresso
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,127 +0,0 @@
## Functional tests
Regressions:
- [X] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## Image Resizer
- [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] 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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [X] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [X] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link

View File

@@ -1,116 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] 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:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## VCM
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,164 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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] 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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [x] In the `preview` window uncheck some items to exclude them from renaming.
- [x] Click on the `Renamed` column to filter results.
- [ ] Click on the `Original` column to cycle between checked and unchecked items.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,149 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] 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)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,130 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] https://github.com/microsoft/PowerToys/issues/1524
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## Image Resizer
- [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] 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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## VCM
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,135 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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] Image Resizer
- [x] Shortcut Guide (Windows controls are localized)
- [x] File Explorer menu entries for Image Resizer and Power Rename
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] 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:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## VCM
- [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)

View File

@@ -1,189 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,173 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,150 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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] Image Resizer
- [x] Shortcut Guide (Windows controls are localized)
- [x] File Explorer menu entries for Image Resizer and Power Rename
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## Image Resizer
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## VCM
- [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)

View File

@@ -1,324 +0,0 @@
## 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)
- [ ] 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.
* 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
## 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 (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
## 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
- [ ] Open the image resizer to resize a `.gif` file and verify the "Gif files with animations may not be correctly resized." warning appears.
- [ ] 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. Take into account that `Resize the original pictures(don't create copy)` should be selected
- [ ] 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 (entered as `msedge`), 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 the `Search` 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`)
* 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.
## 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 uncheck `Include in global result`. Verify a warning message is shown.
- [ ] Disable all plugins and verify the warning message is shown.
## 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
## 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
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press any other key and verify the overlay disappears.
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [ ] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [ ] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [ ] Overlay opacity
- [ ] Background color
- [ ] Spotlight color
- [ ] Spotlight radius
- [ ] Spotlight initial zoom (1x vs 9x will show the difference)
- [ ] Animation duration
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [ ] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [ ] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [ ] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Left button highlight color
- [ ] Right button highlight color
- [ ] Opacity
- [ ] Radius
- [ ] Fade delay
- [ ] Fade duration
## 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. (Currently doesn't work)
## Awake
- [ ] Try out the features and see if they work, no list at this time.

View File

@@ -1,335 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] verify the Icon Preview works for the gcode 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
## VCM
- [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)
## Awake
- [x] Try out the features and see if they work, no list at this time.
## Always on Top
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,327 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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] Image Resizer
- [x] Shortcut Guide (Windows controls are localized)
- [x] File Explorer menu entries for Image Resizer and Power Rename
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\runner\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] copy and paste one of the SVG file and verify the new file show the generic SVG icon
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
## VCM
- [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)
## Awake
- [x] Try out the features and see if they work, no list at this time.
## Always on Top
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,337 +0,0 @@
## 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)
- [ ] 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.
* 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
## 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)
* 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 (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
## 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
- [ ] Open the image resizer to resize a `.gif` file and verify the "Gif files with animations may not be correctly resized." warning appears.
- [ ] 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. Take into account that `Resize the original pictures(don't create copy)` should be selected
- [ ] 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 (entered as `msedge`), 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 the `Search` 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`)
* 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.
## 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 uncheck `Include in global result`. Verify a warning message is shown.
- [ ] Disable all plugins and verify the warning message is shown.
## 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
## 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
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press any other key and verify the overlay disappears.
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [ ] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [ ] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [ ] Overlay opacity
- [ ] Background color
- [ ] Spotlight color
- [ ] Spotlight radius
- [ ] Spotlight initial zoom (1x vs 9x will show the difference)
- [ ] Animation duration
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [ ] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [ ] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [ ] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Left button highlight color
- [ ] Right button highlight color
- [ ] Opacity
- [ ] Radius
- [ ] Fade delay
- [ ] Fade duration
## 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. (Currently doesn't work)
## Awake
- [ ] Try out the features and see if they work, no list at this time.
## Always on Top
- [ ] Try out the features and see if they work, no list at this time.

View File

@@ -1,147 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] 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:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## VCM
- [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)
## Always on Top
- [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.
- [!] Try to pin the app in the Game Mode. // always works

View File

@@ -1,220 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,205 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\runner\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,162 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## Image Resizer
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [X] Start PowerToys and verify OOBE opens
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [X] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## VCM
- [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)
## Always on Top
- [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.

View File

@@ -1,278 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,239 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## VCM
- [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)
## Awake
- [x] Try out the features and see if they work, no list at this time.
## Always on Top
- [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.

View File

@@ -1,226 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## Image Resizer
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## VCM
- [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)
## Always on Top
- [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.

View File

@@ -1,124 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## VCM
- [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)

View File

@@ -1,140 +0,0 @@
## Color Picker
* Enable the Color Picker in settings and ensure that the hotkey brings up Color Picker
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## VCM
- [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)
## Always on Top
- [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.

View File

@@ -1,201 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,152 +0,0 @@
## 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)
- [x] verify the settings are preserved and FancyZones configuration is still the same
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## FancyZones Editor
- [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`.
## FancyZones
- [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.
* Switch between layouts with quick keys.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,124 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## Image Resizer
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## Always on Top
- [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.

View File

@@ -1,124 +0,0 @@
## 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.
* 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
## 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. (Currently doesn't work)

View File

@@ -1,140 +0,0 @@
## 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
## 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 the `Search` 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`)
* 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.
## 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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [ ] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [ ] Start PowerToys and verify OOBE opens in the "What's New" page
* 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
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press any other key and verify the overlay disappears.
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [ ] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [ ] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [ ] Overlay opacity
- [ ] Background color
- [ ] Spotlight color
- [ ] Spotlight radius
- [ ] Spotlight initial zoom (1x vs 9x will show the difference)
- [ ] Animation duration
- [ ] Change activation method to shake and activate by shaking your mouse pointer
- [ ] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [ ] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [ ] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [ ] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Left button highlight color
- [ ] Right button highlight color
- [ ] Opacity
- [ ] Radius
- [ ] Fade delay
- [ ] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [ ] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [ ] Press the activation shortcut again and verify the crosshairs disappear.
- [ ] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Crosshairs color
- [ ] Crosshairs opacity
- [ ] Crosshairs center radius
- [ ] Crosshairs thickness
- [ ] Crosshairs border color
- [ ] Crosshairs border size
## 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. (Currently doesn't work)
## 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.

View File

@@ -1,201 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,152 +0,0 @@
## 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
## 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
## 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.
* 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
## 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
## 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 (entered as `msedge`), 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.
## Awake
- [ ] Try out the features and see if they work, no list at this time.

View File

@@ -1,124 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## Image Resizer
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## Always on Top
- [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.

View File

@@ -1,124 +0,0 @@
## 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.
* 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
## 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. (Currently doesn't work)

View File

@@ -1,140 +0,0 @@
## 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
## 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 the `Search` 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`)
* 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.
## 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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [ ] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [ ] Start PowerToys and verify OOBE opens in the "What's New" page
* 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
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press any other key and verify the overlay disappears.
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [ ] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [ ] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [ ] Overlay opacity
- [ ] Background color
- [ ] Spotlight color
- [ ] Spotlight radius
- [ ] Spotlight initial zoom (1x vs 9x will show the difference)
- [ ] Animation duration
- [ ] Change activation method to shake and activate by shaking your mouse pointer
- [ ] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [ ] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [ ] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [ ] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Left button highlight color
- [ ] Right button highlight color
- [ ] Opacity
- [ ] Radius
- [ ] Fade delay
- [ ] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [ ] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [ ] Press the activation shortcut again and verify the crosshairs disappear.
- [ ] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Crosshairs color
- [ ] Crosshairs opacity
- [ ] Crosshairs center radius
- [ ] Crosshairs thickness
- [ ] Crosshairs border color
- [ ] Crosshairs border size
## 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. (Currently doesn't work)
## 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.

View File

@@ -1,201 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,152 +0,0 @@
## 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
## 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
## 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.
* 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
## 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
## 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 (entered as `msedge`), 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.
## Awake
- [ ] Try out the features and see if they work, no list at this time.

View File

@@ -1,124 +0,0 @@
## Functional tests
Regressions:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## Image Resizer
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## Always on Top
- [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.

View File

@@ -1,150 +0,0 @@
## 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.

View File

@@ -1,164 +0,0 @@
## 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
## 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
## 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
- [ ] Open the image resizer to resize a `.gif` file and verify the "Gif files with animations may not be correctly resized." warning appears.
- [ ] 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. Take into account that `Resize the original pictures(don't create copy)` should be selected
- [ ] 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
## 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 the `Search` 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`)
* 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.
## 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 uncheck `Include in global result`. Verify a warning message is shown.
- [ ] Disable all plugins and verify the warning message is shown.
## 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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [ ] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [ ] Start PowerToys and verify OOBE opens in the "What's New" page
* 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
## 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.

View File

@@ -1,224 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,210 +0,0 @@
## 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
## 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
## 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
## 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
## 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 (entered as `msedge`), 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.
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press any other key and verify the overlay disappears.
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [ ] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [ ] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [ ] Overlay opacity
- [ ] Background color
- [ ] Spotlight color
- [ ] Spotlight radius
- [ ] Spotlight initial zoom (1x vs 9x will show the difference)
- [ ] Animation duration
- [ ] Change activation method to shake and activate by shaking your mouse pointer
- [ ] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [ ] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [ ] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [ ] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Left button highlight color
- [ ] Right button highlight color
- [ ] Opacity
- [ ] Radius
- [ ] Fade delay
- [ ] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [ ] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [ ] Press the activation shortcut again and verify the crosshairs disappear.
- [ ] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Crosshairs color
- [ ] Crosshairs opacity
- [ ] Crosshairs center radius
- [ ] Crosshairs thickness
- [ ] Crosshairs border color
- [ ] Crosshairs border size
## Awake
- [ ] Try out the features and see if they work, no list at this time.

View File

@@ -1,127 +0,0 @@
## 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
## 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.

View File

@@ -1,140 +0,0 @@
## 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
## 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 the `Search` 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`)
* 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.
## 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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [ ] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [ ] Start PowerToys and verify OOBE opens in the "What's New" page
* 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
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press any other key and verify the overlay disappears.
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [ ] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [ ] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [ ] Overlay opacity
- [ ] Background color
- [ ] Spotlight color
- [ ] Spotlight radius
- [ ] Spotlight initial zoom (1x vs 9x will show the difference)
- [ ] Animation duration
- [ ] Change activation method to shake and activate by shaking your mouse pointer
- [ ] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [ ] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [ ] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [ ] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Left button highlight color
- [ ] Right button highlight color
- [ ] Opacity
- [ ] Radius
- [ ] Fade delay
- [ ] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [ ] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [ ] Press the activation shortcut again and verify the crosshairs disappear.
- [ ] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Crosshairs color
- [ ] Crosshairs opacity
- [ ] Crosshairs center radius
- [ ] Crosshairs thickness
- [ ] Crosshairs border color
- [ ] Crosshairs border size
## 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.

View File

@@ -1,201 +0,0 @@
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.

View File

@@ -1,155 +0,0 @@
## 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
## 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
## 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
## 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
## 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 (entered as `msedge`), 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.
## Awake
- [ ] Try out the features and see if they work, no list at this time.

View File

@@ -1,124 +0,0 @@
## 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:
- [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
## Image Resizer
- [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
## PowerRename
- [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`.
* Select several files and folders and check PowerRename options:
- [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).
* Use regular expressions
- [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`)
* File list filters.
- [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.
## 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 uncheck `Include in global result`. Verify a warning message is shown.
- [ ] Disable all plugins and verify the warning message is shown.
## Shortcut Guide
* Run PowerToys as user:
- [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.
* Restore the `Win + Shift + /` hotkey.
- [x] Open the guide and close it pressing `Esc`
- [x] 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:
- [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
## Always on Top
- [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.

View File

@@ -1,119 +0,0 @@
## 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:
- [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038
- [x] 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:
- [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
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] restart PT and verify that all module are still on in the settings page and they are actually working
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
### Screen Ruler
* Enable Screen Ruler. Then:
- [x] Press the activation shortcut and verify the toolbar appears.
- [x] Press the activation shortcut again and verify the toolbar disappears.
- [x] Disable Screen Ruler and verify that the activation shortuct no longer activates the utility.
- [x] Enable tScreen Ruler and press the activation shortcut and verify the toolbar appears.
- [x] Select the close button in the toolbar and verify it closes the utility.
* With Screen Ruler enabled and activated:
- [x] Use the Bounds utility to measure a zone by dragging with left-click. Verify right click dismisses the utility and that the measurement was copied into the clipboard.
- [x] Use the Spacing utility to measure something and verify that left-click copies the measurement to the clipboard. Verify that right-click dismisses the utility.
- [x] Use the Horizontal Spacing utility to measure something and verify that left-click copies the measurement to the clipboard. Verify that right-click dismisses the utility.
- [x] Use the Vertical Spacing utility to measure something and verify that left-click copies the measurement to the clipboard. Verify that right-click dismisses the utility.
- [x] While using a Spacing utility, verify that using the mouse scroll wheel will adjust pixel color tolerance while measuring.
* In a multi-monitor setup with different dpis on each monitor:
- [x] Verify that the utilities work well on each monitor, with continuous mode on and off.
- [] Without any window opened and a solid color as your background, verify the horizontal spacing matches the monitor's pixel width.
* Test the different settings and verify they are applied:
- [x] Activation shortcut
- [x] Continous mode
- [x] Per color channel edge detection
- [x] Pixel tolerance for edge detection
- [x] Draw feet on cross
- [x] Line color
### Quick Accent
* Enable Quick Accent and open notepad. Then:
- [x] Press `a` and the left or right arrow and verify the accent menu appears and adds the accented letter you've selected. Use left and arrow keys to cycle through the options.
- [x] Press `a` and the space key and verify the accent menu appears and adds the accented letter you've selected. Use the space key to cycle through the options.
- [x] Disable Quick Accent and verify you can no longer add accented characters through Quick Accent.
* Test the different settings and verify they are applied:
- [x] Activation key
- [x] Toolbar position (test every option, some had issues before)
- [x] Input delay

View File

@@ -1,140 +0,0 @@
## 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
## 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 the `Search` 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`)
* 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.
## 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
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [ ] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [ ] Start PowerToys and verify OOBE opens in the "What's New" page
* 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
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press any other key and verify the overlay disappears.
- [ ] Press Left Ctrl twice and verify the overlay appears.
- [ ] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [ ] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [ ] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [ ] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [ ] Overlay opacity
- [ ] Background color
- [ ] Spotlight color
- [ ] Spotlight radius
- [ ] Spotlight initial zoom (1x vs 9x will show the difference)
- [ ] Animation duration
- [ ] Change activation method to shake and activate by shaking your mouse pointer
- [ ] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [ ] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [ ] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [ ] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [ ] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Left button highlight color
- [ ] Right button highlight color
- [ ] Opacity
- [ ] Radius
- [ ] Fade delay
- [ ] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [ ] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [ ] Press the activation shortcut again and verify the crosshairs disappear.
- [ ] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [ ] Change activation shortcut and test it
- [ ] Crosshairs color
- [ ] Crosshairs opacity
- [ ] Crosshairs center radius
- [ ] Crosshairs thickness
- [ ] Crosshairs border color
- [ ] Crosshairs border size
## VCM
- [ ] Check "Hide toolbar when both camera and microphone 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.

View File

@@ -1,192 +0,0 @@
## Image Resizer
- [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
## Keyboard Manager
UI Validation:
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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
- [x] Test key to shortcut remapping
- A->Ctrl+V
- B->Win+A
- [x] Test shortcut to shortcut remapping
- Ctrl+A->Ctrl+V
- Win+A->Ctrl+V
- Ctrl+V->Win+A
- Win+A->Win+F
- [x] Test shortcut to key remapping
- Ctrl+A->B
- Ctrl+A->Win
- Win+A->B
* Test app-specific remaps
- [x] Similar remaps to above with Edge (entered as `msedge`), VSCode (entered as `code`) and cmd. For cmd try admin and non-admin (requires PT to run as admin)
- [x] Try some cases where focus is lost due to the shortcut. Example remapping to Alt+Tab or Alt+F4
- [x] 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.
## PowerToys Run
* Enable PT Run in settings and ensure that the hotkey brings up PT Run
- [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.
* Check that each of the plugins is working:
- [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.
* Test Plugin Manager
- [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.
## OOBE
* Quit PowerToys
* Delete %localappdata%\Microsoft\PowerToys
- [x] Start PowerToys and verify OOBE opens
* Change version saved on `%localappdata%\Microsoft\PowerToys\last_version.txt`
- [x] Start PowerToys and verify OOBE opens in the "What's New" page
* Visit each OOBE section and for each section:
- [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
* Close OOBE
- [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link
## Mouse Utils
Find My Mouse:
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press any other key and verify the overlay disappears.
- [x] Press Left Ctrl twice and verify the overlay appears.
- [x] Press a mouse button and verify the overlay disappears.
* Disable FindMyMouse. Verify the overlay no longer appears when you press Left Ctrl twice.
* Enable FindMyMouse. Then, without moving your mouse:
- [x] Press Left Ctrl twice and verify the overlay appears.
* Enable the "Do not activate on game mode" option. Start playing a game that uses CG native full screen.
- [x] Verify the overlay no longer appears when you press Left Ctrl twice.
* Disable the "Do not activate on game mode" option. Start playing the same game.
- [x] Verify the overlay appears when you press Left Ctrl twice. (though it'll likely minimize the game)
* Test the different settings and verify they apply:
- [x] Overlay opacity
- [x] Background color
- [x] Spotlight color
- [x] Spotlight radius
- [x] Spotlight initial zoom (1x vs 9x will show the difference)
- [x] Animation duration
- [x] Change activation method to shake and activate by shaking your mouse pointer
- [x] Excluded apps
Mouse Highlighter:
* Enable Mouse Highlighter. Then:
- [x] Press the activation shortcut and press left and right click somewhere, verifying the hightlights are applied.
- [x] With left mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] With right mouse button pressed, drag the mouse and verify the hightlight is dragged with the pointer.
- [x] Press the activation shortcut again and verify no highlights appear when the mouse buttons are clicked.
- [x] Disable Mouse Highlighter and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Left button highlight color
- [x] Right button highlight color
- [x] Opacity
- [x] Radius
- [x] Fade delay
- [x] Fade duration
Mouse Pointer Crosshairs:
* Enable Mouse Pointer Crosshairs. Then:
- [x] Press the activation shortcut and verify the crosshairs appear, and that they follow the mouse around.
- [x] Press the activation shortcut again and verify the crosshairs disappear.
- [x] Disable Mouse Pointer Crosshairs and verify that the module is not activated when you press the activation shortcut.
* Test the different settings and verify they apply:
- [x] Change activation shortcut and test it
- [x] Crosshairs color
- [x] Crosshairs opacity
- [x] Crosshairs center radius
- [x] Crosshairs thickness
- [x] Crosshairs border color
- [x] Crosshairs border size
## Awake
- [x] Try out the features and see if they work, no list at this time.
### Screen Ruler
* Enable Screen Ruler. Then:
- [x] Press the activation shortcut and verify the toolbar appears.
- [x] Press the activation shortcut again and verify the toolbar disappears.
- [x] Disable Screen Ruler and verify that the activation shortuct no longer activates the utility.
- [x] Enable tScreen Ruler and press the activation shortcut and verify the toolbar appears.
- [x] Select the close button in the toolbar and verify it closes the utility.
* With Screen Ruler enabled and activated:
- [x] Use the Bounds utility to measure a zone by dragging with left-click. Verify right click dismisses the utility and that the measurement was copied into the clipboard.
- [x] Use the Spacing utility to measure something and verify that left-click copies the measurement to the clipboard. Verify that right-click dismisses the utility.
- [x] Use the Horizontal Spacing utility to measure something and verify that left-click copies the measurement to the clipboard. Verify that right-click dismisses the utility.
- [x] Use the Vertical Spacing utility to measure something and verify that left-click copies the measurement to the clipboard. Verify that right-click dismisses the utility.
- [x] While using a Spacing utility, verify that using the mouse scroll wheel will adjust pixel color tolerance while measuring.
* In a multi-monitor setup with different dpis on each monitor:
- [x] Verify that the utilities work well on each monitor, with continuous mode on and off.
- [x] Without any window opened and a solid color as your background, verify the horizontal spacing matches the monitor's pixel width.
* Test the different settings and verify they are applied:
- [x] Activation shortcut
- [x] Continous mode
- [x] Per color channel edge detection
- [x] Pixel tolerance for edge detection
- [x] Draw feet on cross
- [x] Line color

View File

@@ -1,154 +0,0 @@
## 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
## General Settings
**Admin mode:**
- [x] restart PT and verify it runs as user
- [x] restart as admin and set "Always run as admin"
- [x] restart PT and verify it runs as admin
* if it's not on, turn on "Run at startup"
- [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog)
* turn Always run as admin" off
- [x] reboot the machine and verify it now runs as user
**Modules on/off:**
- [x] turn off all the modules and verify all module are off
- [x] restart PT and verify that all module are still off in the settings page and they are actually inactive
- [x] turn on all the module, all module are now working
- [x] 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
- [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
## FancyZones Editor
- [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`.
- [x] 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
- [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.
* 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.
- [x] Turn Show this window on all desktops on, verify you can snap this window to a zone.
- [x] 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.
- [x] Switch with `Win` + `Ctrl` + `Alt` + `key`
- [x] Switch with just a key while dragging a window.
* Change screen resolution or scaling.
- [x] 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.
- [x] Disable FZ
- [x] 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`
- [x] Test screen locking
* Set custom layouts on each monitor
* Lock screen / unplug monitor / plug monitor
* Verify that layouts weren't reset to defaults
- [x] Test restart
* Set custom layouts on each monitor
* Restart the computer
* Verify that layouts weren't reset to defaults
## File Explorer Add-ons
* Running as user:
* go to PowerToys repo root
- [x] verify the README.md Preview Pane shows the correct content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] verify Preview Pane works for the SVG files
- [x] 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
- [x] verify Preview Pane works for the PDF file
- [x] 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
- [x] verify Preview Pane works for the gcode file
- [x] 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
- [x] verify the Icon Preview works for the stl file (loop through different icon preview sizes)
* go to PowerToys repo and visit src\runner
- [x] 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
- [x] verify the README.md Preview Pane doesn't show any content
* go to PowerToys repo and visit src\modules\ShortcutGuide\ShortcutGuide\svgs
- [x] 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.
- [x] 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
- [x] verify Preview Pane doesn't show the preview for the PDF file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-GcodePreviewHandler\HelperFiles
- [x] verify Preview Pane doesn't show the preview for the gcode file
* go to PowerToys repo and visit src\modules\previewpane\UnitTests-StlThumbnailProvider\HelperFiles
- [x] 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
- [x] verify Preview Pane doesn't show the preview for source code files or that it's a default previewer instead of Monaco
## Awake
- [x] Try out the features and see if they work, no list at this time.
### Text Extractor
* Enable Text Extractor. Then:
- [x] Press the activation shortcut and verify the overlay appears.
- [x] Press Escape and verify the overlay disappears.
- [x] Press the activation shortcut and verify the overlay appears.
- [x] Right-click and select Cancel. Verify the overlay disappears.
- [x] Disable Text Extractor and verify that the activation shortuct no longer activates the utility.
* With Text Extractor enabled and activated:
- [x] Try to select text and verify it is copied to the clipboard.
* In a multi-monitor setup with different dpis on each monitor:
- [x] Verify text is correctly captured on all monitors.
* Test the different settings and verify they are applied:
- [x] Activation shortcut

Some files were not shown because too many files have changed in this diff Show More