diff --git a/src/modules/launcher/Wox.Core/Plugin/PluginManager.cs b/src/modules/launcher/Wox.Core/Plugin/PluginManager.cs index 06cae6125..0a821a299 100644 --- a/src/modules/launcher/Wox.Core/Plugin/PluginManager.cs +++ b/src/modules/launcher/Wox.Core/Plugin/PluginManager.cs @@ -194,14 +194,15 @@ namespace Wox.Core.Plugin { foreach (Result result in results) { - if (!string.IsNullOrEmpty(result.QueryTextDisplay)) + if (string.IsNullOrEmpty(result.QueryTextDisplay)) + { + result.QueryTextDisplay = result.Title; + } + + if (!string.IsNullOrEmpty(query.ActionKeyword)) { result.QueryTextDisplay = string.Format("{0} {1}", query.ActionKeyword, result.QueryTextDisplay); } - else - { - result.QueryTextDisplay = string.Format("{0} {1}", query.ActionKeyword, result.Title); - } } return results; diff --git a/src/modules/launcher/Wox.Test/PluginManagerTest.cs b/src/modules/launcher/Wox.Test/PluginManagerTest.cs index 0c346d49c..0d1ee03ab 100644 --- a/src/modules/launcher/Wox.Test/PluginManagerTest.cs +++ b/src/modules/launcher/Wox.Test/PluginManagerTest.cs @@ -15,13 +15,18 @@ namespace Wox.Test [TestFixture] public class PluginManagerTest { - [Test] - public void QueryForPlugin_SetsActionKeyword_WhenQueryTextDisplayIsSet() + [TestCase(">", "dummyQueryText", "dummyTitle", "> dummyQueryText")] + [TestCase(">", null, "dummyTitle", "> dummyTitle")] + [TestCase(">", "", "dummyTitle", "> dummyTitle")] + [TestCase("", "dummyQueryText", "dummyTitle", "dummyQueryText")] + [TestCase("", null, "dummyTitle", "dummyTitle")] + [TestCase("", "", "dummyTitle", "dummyTitle")] + [TestCase(null, "dummyQueryText", "dummyTitle", "dummyQueryText")] + [TestCase(null, null, "dummyTitle", "dummyTitle")] + [TestCase(null, "", "dummyTitle", "dummyTitle")] + public void QueryForPlugin_SetsActionKeyword_WhenQueryTextDisplayIsEmpty(string actionKeyword, string queryTextDisplay, string title, string expectedResult) { // Arrange - var actionKeyword = ">"; - var title = "dummyTitle"; - var queryTextDisplay = "dummyQueryTextDisplay"; var query = new Query { ActionKeyword = actionKeyword, @@ -51,46 +56,7 @@ namespace Wox.Test var queryOutput = PluginManager.QueryForPlugin(pluginPair, query); // Assert - Assert.AreEqual(string.Format("{0} {1}", ">", queryTextDisplay), queryOutput[0].QueryTextDisplay); - } - - [TestCase("")] - [TestCase(null)] - public void QueryForPlugin_SetsActionKeyword_WhenQueryTextDisplayIsEmpty(string queryTextDisplay) - { - // Arrange - var actionKeyword = ">"; - var title = "dummyTitle"; - var query = new Query - { - ActionKeyword = actionKeyword, - }; - var metadata = new PluginMetadata - { - ID = "dummyName", - IcoPath = "dummyIcoPath", - ExecuteFileName = "dummyExecuteFileName", - PluginDirectory = "dummyPluginDirectory", - }; - var result = new Result() - { - QueryTextDisplay = queryTextDisplay, - Title = title, - }; - var results = new List() { result }; - var pluginMock = new Mock(); - pluginMock.Setup(r => r.Query(query)).Returns(results); - var pluginPair = new PluginPair - { - Plugin = pluginMock.Object, - Metadata = metadata, - }; - - // Act - var queryOutput = PluginManager.QueryForPlugin(pluginPair, query); - - // Assert - Assert.AreEqual(string.Format("{0} {1}", ">", title), queryOutput[0].QueryTextDisplay); + Assert.AreEqual(expectedResult, queryOutput[0].QueryTextDisplay); } } }