Files
PowerToys/src/modules/launcher/Wox.Test/PluginManagerTest.cs
Avneet Kaur cfe9e2328f FxCopAnalyzer fixes for Wox.Test (#7312)
* Added InvarientCulture info (CA1305: Specify IFormatProvider)

* Removed underscore from method names (CA1707: Identifiers should not contain underscores)

* Marked members as static (CA1822: Mark members as static)

* Removed initialization for DummyTestClass::IsFunctionCalled (CA1805: Do not initialize unnecessarily)

* Replaced Count with Any (CA1827: Do not use Count/LongCount when Any can be used)

* Changed WoxTest::DummyTestClass to private (CA1034: Nested types should not be visible)

* Suppressed warnings for uninstantiated internal classes used as TestFixtures (CA1812: Avoid uninstantiated internal classes)

* Enabled FxCopAnalyzer for Wox.Test

* Added suppression message for CA1812 in GlobalSuppressions.cs and removed inline supression messages (CA1812: Avoid uninstantiated internal classes)

* Changed InvariantCulture to Ordinal where appropriate

* Addressing comments: Updated justification for CA1812 in GlobalSuppressions.cs (Avoid uninstantiated internal classes)
2020-10-21 20:13:12 -07:00

63 lines
2.2 KiB
C#

// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.Text;
using Moq;
using NUnit.Framework;
using Wox.Core.Plugin;
using Wox.Plugin;
namespace Wox.Test
{
[TestFixture]
public class PluginManagerTest
{
[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 QueryForPluginSetsActionKeywordWhenQueryTextDisplayIsEmpty(string actionKeyword, string queryTextDisplay, string title, string expectedResult)
{
// Arrange
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>() { result };
var pluginMock = new Mock<IPlugin>();
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(expectedResult, queryOutput[0].QueryTextDisplay);
}
}
}