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:
Barbara Kudiess
2020-03-23 17:28:10 -07:00
187 changed files with 717 additions and 5369 deletions

View 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);
}
}
}

View File

@@ -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>