mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-06 11:16:51 +02:00
Merge branch 'master' into dotnet-core-upgrade
# Conflicts: # src/modules/launcher/Plugins/Wox.Plugin.BrowserBookmark/Wox.Plugin.BrowserBookmark.csproj # src/modules/launcher/Plugins/Wox.Plugin.Calculator/Wox.Plugin.Calculator.csproj # src/modules/launcher/Plugins/Wox.Plugin.Color/Wox.Plugin.Color.csproj # src/modules/launcher/Plugins/Wox.Plugin.ControlPanel/Wox.Plugin.ControlPanel.csproj # src/modules/launcher/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj # src/modules/launcher/Plugins/Wox.Plugin.Folder/Wox.Plugin.Folder.csproj # src/modules/launcher/Plugins/Wox.Plugin.Indexer/Properties/AssemblyInfo.cs # src/modules/launcher/Plugins/Wox.Plugin.Indexer/Wox.Plugin.Indexer.csproj # src/modules/launcher/Plugins/Wox.Plugin.PluginIndicator/Wox.Plugin.PluginIndicator.csproj # src/modules/launcher/Plugins/Wox.Plugin.PluginManagement/Wox.Plugin.PluginManagement.csproj # src/modules/launcher/Plugins/Wox.Plugin.Program/Wox.Plugin.Program.csproj # src/modules/launcher/Plugins/Wox.Plugin.Shell/Wox.Plugin.Shell.csproj # src/modules/launcher/Plugins/Wox.Plugin.Sys/Wox.Plugin.Sys.csproj # src/modules/launcher/Plugins/Wox.Plugin.Url/Wox.Plugin.Url.csproj # src/modules/launcher/Plugins/Wox.Plugin.WebSearch/Wox.Plugin.WebSearch.csproj # src/modules/launcher/Wox.Core/Wox.Core.csproj # src/modules/launcher/Wox.Infrastructure/Wox.Infrastructure.csproj # src/modules/launcher/Wox.Plugin/Wox.Plugin.csproj # src/modules/launcher/Wox.Test/Wox.Test.csproj # src/modules/launcher/Wox/Wox.csproj
This commit is contained in:
145
src/modules/launcher/Wox.Test/Plugins/WindowsIndexerTest.cs
Normal file
145
src/modules/launcher/Wox.Test/Plugins/WindowsIndexerTest.cs
Normal file
@@ -0,0 +1,145 @@
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.OleDb;
|
||||
using Microsoft.Search.Interop;
|
||||
using Wox.Plugin.Indexer.SearchHelper;
|
||||
|
||||
namespace Wox.Test.Plugins
|
||||
{
|
||||
|
||||
[TestFixture]
|
||||
public class WindowsIndexerTest
|
||||
{
|
||||
private WindowsSearchAPI _api = new WindowsSearchAPI();
|
||||
|
||||
[Test]
|
||||
public void InitQueryHelper_ShouldInitialize_WhenFunctionIsCalled()
|
||||
{
|
||||
// Arrange
|
||||
int maxCount = 10;
|
||||
ISearchQueryHelper queryHelper = null;
|
||||
|
||||
// Act
|
||||
_api.InitQueryHelper(out queryHelper, maxCount);
|
||||
|
||||
// Assert
|
||||
Assert.IsNotNull(queryHelper);
|
||||
Assert.AreEqual(queryHelper.QueryMaxResults, maxCount);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ModifyQueryHelper_ShouldSetQueryHelper_WhenPatternIsAsterisk()
|
||||
{
|
||||
// Arrange
|
||||
ISearchQueryHelper queryHelper;
|
||||
String pattern = "*";
|
||||
_api.InitQueryHelper(out queryHelper, 10);
|
||||
|
||||
// Act
|
||||
_api.ModifyQueryHelper(ref queryHelper, pattern);
|
||||
|
||||
// Assert
|
||||
Assert.IsFalse(queryHelper.QueryWhereRestrictions.Contains("LIKE"));
|
||||
Assert.IsFalse(queryHelper.QueryWhereRestrictions.Contains("Contains"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ModifyQueryHelper_ShouldSetQueryHelper_WhenPatternContainsAsterisk()
|
||||
{
|
||||
// Arrange
|
||||
ISearchQueryHelper queryHelper;
|
||||
String pattern = "tt*^&)";
|
||||
_api.InitQueryHelper(out queryHelper, 10);
|
||||
|
||||
// Act
|
||||
_api.ModifyQueryHelper(ref queryHelper, pattern);
|
||||
|
||||
// Assert
|
||||
Assert.IsTrue(queryHelper.QueryWhereRestrictions.Contains("LIKE"));
|
||||
Assert.IsFalse(queryHelper.QueryWhereRestrictions.Contains("Contains"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ModifyQueryHelper_ShouldSetQueryHelper_WhenPatternContainsPercent()
|
||||
{
|
||||
// Arrange
|
||||
ISearchQueryHelper queryHelper;
|
||||
String pattern = "tt%^&)";
|
||||
_api.InitQueryHelper(out queryHelper, 10);
|
||||
|
||||
// Act
|
||||
_api.ModifyQueryHelper(ref queryHelper, pattern);
|
||||
|
||||
// Assert
|
||||
Assert.IsTrue(queryHelper.QueryWhereRestrictions.Contains("LIKE"));
|
||||
Assert.IsFalse(queryHelper.QueryWhereRestrictions.Contains("Contains"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ModifyQueryHelper_ShouldSetQueryHelper_WhenPatternContainsUnderScore()
|
||||
{
|
||||
// Arrange
|
||||
ISearchQueryHelper queryHelper;
|
||||
String pattern = "tt_^&)";
|
||||
_api.InitQueryHelper(out queryHelper, 10);
|
||||
|
||||
// Act
|
||||
_api.ModifyQueryHelper(ref queryHelper, pattern);
|
||||
|
||||
// Assert
|
||||
Assert.IsTrue(queryHelper.QueryWhereRestrictions.Contains("LIKE"));
|
||||
Assert.IsFalse(queryHelper.QueryWhereRestrictions.Contains("Contains"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ModifyQueryHelper_ShouldSetQueryHelper_WhenPatternContainsQuestionMark()
|
||||
{
|
||||
// Arrange
|
||||
ISearchQueryHelper queryHelper;
|
||||
String pattern = "tt?^&)";
|
||||
_api.InitQueryHelper(out queryHelper, 10);
|
||||
|
||||
// Act
|
||||
_api.ModifyQueryHelper(ref queryHelper, pattern);
|
||||
|
||||
// Assert
|
||||
Assert.IsTrue(queryHelper.QueryWhereRestrictions.Contains("LIKE"));
|
||||
Assert.IsFalse(queryHelper.QueryWhereRestrictions.Contains("Contains"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ModifyQueryHelper_ShouldSetQueryHelper_WhenPatternDoesNotContainSplSymbols()
|
||||
{
|
||||
// Arrange
|
||||
ISearchQueryHelper queryHelper;
|
||||
String pattern = "tt^&)bc";
|
||||
_api.InitQueryHelper(out queryHelper, 10);
|
||||
|
||||
// Act
|
||||
_api.ModifyQueryHelper(ref queryHelper, pattern);
|
||||
|
||||
// Assert
|
||||
Assert.IsFalse(queryHelper.QueryWhereRestrictions.Contains("LIKE"));
|
||||
Assert.IsTrue(queryHelper.QueryWhereRestrictions.Contains("Contains"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ExecuteQuery_ShouldDisposeAllConnections_AfterFunctionCall()
|
||||
{
|
||||
// Arrange
|
||||
ISearchQueryHelper queryHelper;
|
||||
_api.InitQueryHelper(out queryHelper, 10);
|
||||
_api.ModifyQueryHelper(ref queryHelper, "*");
|
||||
string keyword = "test";
|
||||
|
||||
// Act
|
||||
_api.ExecuteQuery(queryHelper, keyword);
|
||||
|
||||
// Assert
|
||||
Assert.IsNull(_api.conn);
|
||||
Assert.IsNull(_api.command);
|
||||
Assert.IsNull(_api.WDSResults);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,26 +10,31 @@
|
||||
<ApplicationIcon />
|
||||
<StartupObject />
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<OutputPath>..\..\..\..\x64\Debug\modules\launcher\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<Optimize>false</Optimize>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>..\..\..\..\x64\Release\modules\launcher\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user