Files
PowerToys/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.ValueGenerator.UnitTests/Community.PowerToys.Run.Plugin.ValueGenerator.UnitTests.csproj

20 lines
573 B
XML
Raw Normal View History

[PTRun]New plugin: Value generator with hashing functions (#26097) * Add hashing plugin for Run * Cleanup logic for hasher plugin - The IComputeRequest interface should make it easier to implement new generators in the future - The GUID generator can now generate all versions of GUID (a.k.a. UUID) - The input for the hash functions is not quite right. The Wox.Plugin.Query class doesn't actually have a way to ge the raw query as given by the user. The issue is with multiple spaces. An input like "a a a a a" would only be accessible as "a a a a a" using the Query class. So for now, hashing only works correctly if the input doesn't contain multiple consecutive spaces. - Need a way to make clear the usage for generating GUIDv3 and v5, since they take 2 parameters. There are defaults, but they aren't very clear. * Change plugin name to ValueGenerator * Clean up error handling for the input parser * Add result type and description to subtitle * Change the icons * Add Base64 encoding and unit tests This commit adds Base64 encoding as a utility of the value generator plugin. The command is `# base64 ***input***`. Also added unit tests for the UUID/GUID generator and for the input parser. I don't think tests are necessary for the hashing functions or for the base64 encoder, since those were part of the the system libraries. I'll open a PR for the documentation tomorrow and mark this draft for review. * Excluded UUIDv2 * Change icons * Add RawUserQuery to Wox.Plugin.Query Getting the RawUserQuery is necessary to be able to handle queries like `# md5 a a`, where the intent is to get the hash for `a a`. The existing `RawQuery` removes consecutive whitespaces and there was no other way of getting the request as entered by the user. * Add ValueGenerator plugin to installer Also add the unit tests for the plugin to the pipeline. * Small cleanup * Fix spelling * Fix spelling again * Spell check for guiddata * More fixes This commit adds the dev docs explaining the classes in the new plugin. It also fixes the following issues: 1. ValueGenerator was not a dependency for the PowerLauncher project 2. The error message for an invalid SHA variant now displays the supported SHA variants 3. Hash requests now wait for a string to hash (i.e. no longer hash an empty string) 4. GUID v3 and v5 namespace aliases allow lowercase notation 5. Unnecessary debug logs 6. An empty query will now just log "Empty request" 7. An invalid query will also log user query * Spell check fix again * Change error message for unsupported GUID versions * Remove Any CPU from the solution * Add to installer * Remove duplicated ValueGeneratorPluginFolder entry
2023-07-18 10:44:02 +01:00
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
🚧 [Dev][Build] .NET 8 Upgrade (#28655) * Upgraded projects to target .NET 8 * Updated .NET runtime package targets to use latest .NET 8 build * Updated PowerToys Interop to target .NET 8 * Switch to use ArgumentNullException.ThrowIfNull * ArgumentNullException.ThrowIfNull for CropAndLockViewModel * Switching to ObjectDisposedException.ThrowIf * Upgrade System.ComponentModel.Composition to 8.0 * ArgumentNullException.ThrowIfNull in Helper * Switch to StartsWith using StringComparison.Ordinal * Disabled CA1859, CA1716, SYSLIB1096 analyzers * Update RIDs to reflect breaking changes in .NET 8 * Updated Microsoft NuGet packages to RC1 * Updated Analyzer package to latest .NET 8 preview package * CA1854: Use TryGetValue instead of ContainsKey * [Build] Update TFM to .NET 8 for publish profiles * [Analyzers] Remove CA1309, CA1860-CA1865, CA1869, CA2208 from warning. * [Analyzers] Fix for C26495 * [Analyzers] Disable CS1615, CS9191 * [CI] Target .NET 8 in YAML * [CI] Add .NET preview version flag temporarily. * [FileLocksmith] Update TFM to .NET 8 * [CI] Switch to preview agent * [CI] Update NOTICE.md * [CI] Update Release to target .NET 8 and use Preview agent * [Analyzers] Disable CA1854 * Fix typo * Updated Microsoft.CodeAnalysis.NetAnalyzers to latest preview Updated packages to rc2 * [Analyzers][CPP] Turn off warning for 5271 * [Analyzers][CPP] Turn off warning for 26493 * [KeyboardListener] Add mutex include to resolve error * [PT Run][Folder] Use static SearchValues to resolve CA1870 * [PowerLauncher] Fix TryGetValue * [MouseJumpSettings] Use ArgumentNullException.ThrowIfNull * [Build] Disable parallel dotnet tool restore * [Build] No cache of dotnet tool packages * [Build] Temporarily move .NET 8 SDK task before XAML formatting * [Build][Temp] Try using .NET 7 prior to XAML formatting and then switch to .NET 8 after * [Build] Use .NET 6 for XAML Styler * [CI] Updated NOTICE.md * [FancyZones] Update TFM to .NET 8 * [EnvVar] Update TFM to .NET 8 and update RID * [EnvVar] Use ArgumentNullException.ThrowIfNull * [Dev] Updated packages to .NET 8 RTM version * [Dev] Updated Microsoft.CodeAnalysis.NetAnalyzers to latest * [CI] Updated NOTICE.md with latest package versions * Fix new utility target fameworks and runtimeids * Don't use preview images anymore * [CI] Add script to update VCToolsVersion environment variable * [CI] Add Step to Verify VCToolsVersion * [CI] Use latest flag for vswhere to set proper VCToolsVersion * Add VCToolsVersion checking to release.yml * Remove net publishing from local/ PR CI builds * Revert "Remove net publishing from local/ PR CI builds" This reverts commit f469778996c5053e8bf93233e8191858c46f6420. * Only publish necessary projects * Add verbosity to release pipelines builds of PowerTOys * Set VCToolsVersion for publish.cmd when called from installer * [Installer] Moved project publish logic to MSBuild Task * [CI] Revert using publish.cmd * [CI] Set VCToolsVersion and unset ClearDevCommandPromptEnvVars property * Installer publishes for x64 too * Revert "Add verbosity to release pipelines builds of PowerTOys" This reverts commit 654d4a7f7852e95e44df315c473c02d38b1f538b. * [Dev] Update CodeAnalysis library to non-preview package * Remove unneeded warning removal * Fix Notice.md * Rename VCToolsVersion file and task name * Remove unneeded mutex header include --------- Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-11-22 12:46:59 -05:00
<TargetFramework>net8.0-windows</TargetFramework>
[PTRun]New plugin: Value generator with hashing functions (#26097) * Add hashing plugin for Run * Cleanup logic for hasher plugin - The IComputeRequest interface should make it easier to implement new generators in the future - The GUID generator can now generate all versions of GUID (a.k.a. UUID) - The input for the hash functions is not quite right. The Wox.Plugin.Query class doesn't actually have a way to ge the raw query as given by the user. The issue is with multiple spaces. An input like "a a a a a" would only be accessible as "a a a a a" using the Query class. So for now, hashing only works correctly if the input doesn't contain multiple consecutive spaces. - Need a way to make clear the usage for generating GUIDv3 and v5, since they take 2 parameters. There are defaults, but they aren't very clear. * Change plugin name to ValueGenerator * Clean up error handling for the input parser * Add result type and description to subtitle * Change the icons * Add Base64 encoding and unit tests This commit adds Base64 encoding as a utility of the value generator plugin. The command is `# base64 ***input***`. Also added unit tests for the UUID/GUID generator and for the input parser. I don't think tests are necessary for the hashing functions or for the base64 encoder, since those were part of the the system libraries. I'll open a PR for the documentation tomorrow and mark this draft for review. * Excluded UUIDv2 * Change icons * Add RawUserQuery to Wox.Plugin.Query Getting the RawUserQuery is necessary to be able to handle queries like `# md5 a a`, where the intent is to get the hash for `a a`. The existing `RawQuery` removes consecutive whitespaces and there was no other way of getting the request as entered by the user. * Add ValueGenerator plugin to installer Also add the unit tests for the plugin to the pipeline. * Small cleanup * Fix spelling * Fix spelling again * Spell check for guiddata * More fixes This commit adds the dev docs explaining the classes in the new plugin. It also fixes the following issues: 1. ValueGenerator was not a dependency for the PowerLauncher project 2. The error message for an invalid SHA variant now displays the supported SHA variants 3. Hash requests now wait for a string to hash (i.e. no longer hash an empty string) 4. GUID v3 and v5 namespace aliases allow lowercase notation 5. Unnecessary debug logs 6. An empty query will now just log "Empty request" 7. An invalid query will also log user query * Spell check fix again * Change error message for unsupported GUID versions * Remove Any CPU from the solution * Add to installer * Remove duplicated ValueGeneratorPluginFolder entry
2023-07-18 10:44:02 +01:00
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MSTest.TestAdapter" />
<PackageReference Include="MSTest.TestFramework" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Community.PowerToys.Run.Plugin.ValueGenerator\Community.PowerToys.Run.Plugin.ValueGenerator.csproj" />
</ItemGroup>
</Project>