mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Add tests and methods for all folders and files search
This commit is contained in:
parent
e87a3a2e61
commit
ff03f7d284
2 changed files with 47 additions and 3 deletions
|
|
@ -37,9 +37,37 @@ namespace Flow.Launcher.Test.Plugins
|
||||||
$"Expected QueryWhereRestrictions string: {expectedString}{Environment.NewLine} " +
|
$"Expected QueryWhereRestrictions string: {expectedString}{Environment.NewLine} " +
|
||||||
$"Actual string was: {queryString}{Environment.NewLine}");
|
$"Actual string was: {queryString}{Environment.NewLine}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void GivenWindowsIndexSearch_WhenSearchAllFoldersAndFiles_ThenQueryWhereRestrictionsShouldUseScopeString() { }
|
[TestCase("scope='file:'")]
|
||||||
|
public void GivenWindowsIndexSearch_WhenSearchAllFoldersAndFiles_ThenQueryWhereRestrictionsShouldUseScopeString(string expectedString)
|
||||||
|
{
|
||||||
|
// Given
|
||||||
|
var queryConstructor = new QueryConstructor(new Settings());
|
||||||
|
|
||||||
|
//When
|
||||||
|
var resultString = queryConstructor.QueryWhereRestrictionsForAllFilesAndFoldersSearch();
|
||||||
|
|
||||||
|
Assert.IsTrue(resultString == expectedString,
|
||||||
|
$"Expected QueryWhereRestrictions string: {expectedString}{Environment.NewLine} " +
|
||||||
|
$"Actual string was: {resultString}{Environment.NewLine}");
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("flow.launcher.sln", "SELECT TOP 100 \"System.FileName\", \"System.ItemPathDisplay\" " +
|
||||||
|
"FROM \"SystemIndex\" WHERE (System.FileName LIKE 'flow.launcher.sln%' " +
|
||||||
|
"OR CONTAINS(System.FileName,'\"flow.launcher.sln*\"',1033)) AND scope='file:'")]
|
||||||
|
public void GivenWindowsIndexSearch_WhenSearchAllFoldersAndFiles_ThenQueryShouldUseExpectedString(
|
||||||
|
string userSearchString, string expectedString)
|
||||||
|
{
|
||||||
|
// Given
|
||||||
|
var queryConstructor = new QueryConstructor(new Settings());
|
||||||
|
|
||||||
|
//When
|
||||||
|
var resultString = queryConstructor.QueryForAllFilesAndFolders(userSearchString);
|
||||||
|
|
||||||
|
Assert.IsTrue(resultString == expectedString,
|
||||||
|
$"Expected query string: {expectedString}{Environment.NewLine} " +
|
||||||
|
$"Actual string was: {resultString}{Environment.NewLine}");
|
||||||
|
}
|
||||||
|
|
||||||
public void GivenWindowsIndexSearch_WhenReturnedNilAndIsNotIndexed_ThenSearchMethodShouldContinueDirectoryInfoClassSearch() { }
|
public void GivenWindowsIndexSearch_WhenReturnedNilAndIsNotIndexed_ThenSearchMethodShouldContinueDirectoryInfoClassSearch() { }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
using Microsoft.Search.Interop;
|
using Microsoft.Search.Interop;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
@ -62,5 +62,21 @@ namespace Flow.Launcher.Plugin.Explorer.Search.WindowsIndex
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
/// Search will be performed on all folders and files based on user's search keywords.
|
||||||
|
///</summary>
|
||||||
|
public string QueryForAllFilesAndFolders(string userSearchString)
|
||||||
|
{
|
||||||
|
// Generate SQL from our parameters, converting the userQuery from AQS->WHERE clause
|
||||||
|
return CreateBaseQuery().GenerateSQLFromUserQuery(userSearchString) + " AND " + QueryWhereRestrictionsForAllFilesAndFoldersSearch();
|
||||||
|
}
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
/// Set the required WHERE clause restriction to search for all files and folders.
|
||||||
|
///</summary>
|
||||||
|
public string QueryWhereRestrictionsForAllFilesAndFoldersSearch()
|
||||||
|
{
|
||||||
|
return $"scope='file:'";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue