diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Microsoft.Plugin.Program.UnitTests.csproj b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Microsoft.Plugin.Program.UnitTests.csproj index b2b25efb69..8aa5e0df2e 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Microsoft.Plugin.Program.UnitTests.csproj +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Microsoft.Plugin.Program.UnitTests.csproj @@ -12,9 +12,19 @@ x64 + true + + true + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Programs/UWPTests.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Programs/UWPTests.cs index 7ad6cc6065..4b290cce45 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Programs/UWPTests.cs +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Programs/UWPTests.cs @@ -7,7 +7,7 @@ using System.Collections.Generic; namespace Microsoft.Plugin.Program.UnitTests.Programs { [TestFixture] - class UWPTests + public class UWPTests { static readonly PackageWrapper developmentModeApp = new PackageWrapper( "DevelopmentApp", @@ -37,7 +37,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs ); [Test] - public void All_ShouldReturnPackagesWithDevelopmentMode_WhenCalled() + public void AllShouldReturnPackagesWithDevelopmentModeWhenCalled() { // Arrange Main._settings = new ProgramPluginSettings(); @@ -56,7 +56,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void All_ShouldNotReturnPackageFrameworks_WhenCalled() + public void AllShouldNotReturnPackageFrameworksWhenCalled() { // Arrange Main._settings = new ProgramPluginSettings(); @@ -74,7 +74,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void PowerToysRun_ShouldNotAddInvalidApp_WhenIndexingUWPApplications() + public void PowerToysRunShouldNotAddInvalidAppWhenIndexingUWPApplications() { // Arrange PackageWrapper invalidPackagedApp = new PackageWrapper(); diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Programs/Win32Tests.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Programs/Win32Tests.cs index ed42521936..d63893cb58 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Programs/Win32Tests.cs +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Programs/Win32Tests.cs @@ -8,6 +8,8 @@ using Wox.Plugin; using Microsoft.Plugin.Program; using System.IO.Packaging; using Windows.ApplicationModel; +using System; + namespace Microsoft.Plugin.Program.UnitTests.Programs { using Win32Program = Microsoft.Plugin.Program.Programs.Win32Program; @@ -181,7 +183,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs }; [Test] - public void DedupFunction_whenCalled_mustRemoveDuplicateNotepads() + public void DedupFunctionWhenCalledMustRemoveDuplicateNotepads() { // Arrange List prgms = new List(); @@ -196,7 +198,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void DedupFunction_whenCalled_MustRemoveInternetShortcuts() + public void DedupFunctionWhenCalledMustRemoveInternetShortcuts() { // Arrange List prgms = new List(); @@ -211,7 +213,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void DedupFunction_whenCalled_mustNotRemovelnkWhichdoesNotHaveExe() + public void DedupFunctionWhenCalledMustNotRemovelnkWhichdoesNotHaveExe() { // Arrange List prgms = new List(); @@ -225,7 +227,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void DedupFunction_mustRemoveDuplicates_forExeExtensionsWithoutLnkResolvedPath() + public void DedupFunctionMustRemoveDuplicatesForExeExtensionsWithoutLnkResolvedPath() { // Arrange List prgms = new List(); @@ -241,7 +243,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void DedupFunction_mustNotRemovePrograms_withSameExeNameAndFullPath() + public void DedupFunctionMustNotRemoveProgramsWithSameExeNameAndFullPath() { // Arrange List prgms = new List(); @@ -257,7 +259,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void FunctionIsWebApplication_ShouldReturnTrue_ForWebApplications() + public void FunctionIsWebApplicationShouldReturnTrueForWebApplications() { // The IsWebApplication(() function must return true for all PWAs and pinned web pages Assert.IsTrue(twitter_pwa.IsWebApplication()); @@ -269,7 +271,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [TestCase("ignore")] - public void FunctionFilterWebApplication_ShouldReturnFalse_WhenSearchingForTheMainApp(string query) + public void FunctionFilterWebApplicationShouldReturnFalseWhenSearchingForTheMainApp(string query) { // Irrespective of the query, the FilterWebApplication() Function must not filter main apps such as edge and chrome Assert.IsFalse(msedge.FilterWebApplication(query)); @@ -283,7 +285,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs [TestCase("edg", ExpectedResult = true)] [TestCase("Edge page", ExpectedResult = false)] [TestCase("Edge Web page", ExpectedResult = false)] - public bool EdgeWebSites_ShouldBeFiltered_WhenSearchingForEdge(string query) + public bool EdgeWebSitesShouldBeFilteredWhenSearchingForEdge(string query) { return pinned_webpage.FilterWebApplication(query); } @@ -293,7 +295,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs [TestCase("Google", ExpectedResult = true)] [TestCase("Google Chrome", ExpectedResult = true)] [TestCase("Google Chrome twitter", ExpectedResult = false)] - public bool ChromeWebSites_ShouldBeFiltered_WhenSearchingForChrome(string query) + public bool ChromeWebSitesShouldBeFilteredWhenSearchingForChrome(string query) { return twitter_pwa.FilterWebApplication(query); } @@ -306,7 +308,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs [TestCase("WEB PAGE", 1, ExpectedResult = false)] [TestCase("edge", 2, ExpectedResult = false)] [TestCase("EDGE", 2, ExpectedResult = false)] - public bool PinnedWebPages_ShouldNotBeFiltered_WhenSearchingForThem(string query, int Case) + public bool PinnedWebPagesShouldNotBeFilteredWhenSearchingForThem(string query, int Case) { const uint CASE_TWITTER = 0; const uint CASE_WEB_PAGE = 1; @@ -334,7 +336,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs [TestCase("cmd")] [TestCase("cmd.exe")] [TestCase("ignoreQueryText")] - public void Win32Applications_ShouldNotBeFiltered_WhenFilteringRunCommands(string query) + public void Win32ApplicationsShouldNotBeFilteredWhenFilteringRunCommands(string query) { // Even if there is an exact match in the name or exe name, win32 applications should never be filtered Assert.IsTrue(command_prompt.QueryEqualsNameForRunCommands(query)); @@ -343,7 +345,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs [TestCase("cmd")] [TestCase("Cmd")] [TestCase("CMD")] - public void RunCommands_ShouldNotBeFiltered_OnExactMatch(string query) + public void RunCommandsShouldNotBeFilteredOnExactMatch(string query) { // Partial matches should be filtered as cmd is not equal to cmder Assert.IsFalse(cmder_run_command.QueryEqualsNameForRunCommands(query)); @@ -353,7 +355,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void WEB_APPLICATION_ReturnContextMenuWithOpenInConsole_WhenContextMenusIsCalled() + public void WebApplicationShouldReturnContextMenuWithOpenInConsoleWhenContextMenusIsCalled() { // Arrange var mock = new Mock(); @@ -370,7 +372,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void INTERNET_SHORTCUT_APPLICATION_ReturnContextMenuWithOpenInConsole_WhenContextMenusIsCalled() + public void InternetShortcutApplicationShouldReturnContextMenuWithOpenInConsoleWhenContextMenusIsCalled() { // Arrange var mock = new Mock(); @@ -386,7 +388,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void WIN32_APPLICATION_ReturnContextMenuWithOpenInConsole_WhenContextMenusIsCalled() + public void Win32ApplicationShouldReturnContextMenuWithOpenInConsoleWhenContextMenusIsCalled() { // Arrange var mock = new Mock(); @@ -403,7 +405,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void RUN_COMMAND_ReturnContextMenuWithOpenInConsole_WhenContextMenusIsCalled() + public void RunCommandShouldReturnContextMenuWithOpenInConsoleWhenContextMenusIsCalled() { // Arrange var mock = new Mock(); @@ -420,7 +422,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs } [Test] - public void Win32Apps_ShouldSetNameAsTitle_WhileCreatingResult() + public void Win32AppsShouldSetNameAsTitleWhileCreatingResult() { var mock = new Mock(); mock.Setup(x => x.GetTranslation(It.IsAny())).Returns(It.IsAny()); @@ -430,8 +432,8 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs var result = cmder_run_command.Result("cmder", mock.Object); // Assert - Assert.IsTrue(result.Title.Equals(cmder_run_command.Name)); - Assert.IsFalse(result.Title.Equals(cmder_run_command.Description)); + Assert.IsTrue(result.Title.Equals(cmder_run_command.Name, StringComparison.Ordinal)); + Assert.IsFalse(result.Title.Equals(cmder_run_command.Description, StringComparison.Ordinal)); } } } diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/ListRepositoryTests.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/ListRepositoryTests.cs index 2f7adc4a54..b7e4d49272 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/ListRepositoryTests.cs +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/ListRepositoryTests.cs @@ -12,11 +12,11 @@ using Wox.Infrastructure.Storage; namespace Microsoft.Plugin.Program.UnitTests.Storage { [TestFixture] - class ListRepositoryTests + public class ListRepositoryTests { [Test] - public void Contains_ShouldReturnTrue_WhenListIsInitializedWithItem() + public void ContainsShouldReturnTrueWhenListIsInitializedWithItem() { //Arrange var itemName = "originalItem1"; @@ -30,7 +30,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [Test] - public void Contains_ShouldReturnTrue_WhenListIsUpdatedWithAdd() + public void ContainsShouldReturnTrueWhenListIsUpdatedWithAdd() { //Arrange IRepository repository = new ListRepository(); @@ -45,7 +45,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [Test] - public void Contains_ShouldReturnFalse_WhenListIsUpdatedWithRemove() + public void ContainsShouldReturnFalseWhenListIsUpdatedWithRemove() { //Arrange var itemName = "originalItem1"; @@ -60,7 +60,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [Test] - public async Task Add_ShouldNotThrow_WhenBeingIterated() + public async Task AddShouldNotThrowWhenBeingIterated() { //Arrange ListRepository repository = new ListRepository(); @@ -96,14 +96,11 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage }); //Assert that this does not throw. Collections that aren't syncronized will throw an invalidoperatioexception if the list is modified while enumerating - Assert.DoesNotThrowAsync(async () => - { - await Task.WhenAll(new Task[] { iterationTask, addTask }); - }); + await Task.WhenAll(new Task[] { iterationTask, addTask }).ConfigureAwait(false); } [Test] - public async Task Remove_ShouldNotThrow_WhenBeingIterated() + public async Task RemoveShouldNotThrowWhenBeingIterated() { //Arrange ListRepository repository = new ListRepository(); @@ -139,10 +136,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage }); //Assert that this does not throw. Collections that aren't syncronized will throw an invalidoperatioexception if the list is modified while enumerating - Assert.DoesNotThrowAsync(async () => - { - await Task.WhenAll(new Task[] { iterationTask, addTask }); - }); + await Task.WhenAll(new Task[] { iterationTask, addTask }).ConfigureAwait(false); } } } diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/PackageRepositoryTest.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/PackageRepositoryTest.cs index 23b30552af..145454ca16 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/PackageRepositoryTest.cs +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/PackageRepositoryTest.cs @@ -4,7 +4,7 @@ using System.Text; namespace Microsoft.Plugin.Program.UnitTests.Storage { - class PackageRepositoryTest + public class PackageRepositoryTest { } } diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/Win32ProgramRepositoryTest.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/Win32ProgramRepositoryTest.cs index 6504e932a8..ef52f96320 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/Win32ProgramRepositoryTest.cs +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program.UnitTests/Storage/Win32ProgramRepositoryTest.cs @@ -16,7 +16,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage using Win32Program = Program.Programs.Win32Program; [TestFixture] - class Win32ProgramRepositoryTest + public class Win32ProgramRepositoryTest { List _fileSystemWatchers; ProgramPluginSettings _settings = new ProgramPluginSettings(); @@ -37,7 +37,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("Name", "ExecutableName", "FullPath", "description1", "description2")] - public void Win32Repository_MustNotStoreDuplicates_WhileAddingItemsWithSameHashCode(string name, string exename, string fullPath, string description1, string description2) + public void Win32RepositoryMustNotStoreDuplicatesWhileAddingItemsWithSameHashCode(string name, string exename, string fullPath, string description1, string description2) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -71,7 +71,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("path.appref-ms")] - public void Win32ProgramRepository_MustCallOnAppCreatedForApprefApps_WhenCreatedEventIsRaised(string path) + public void Win32ProgramRepositoryMustCallOnAppCreatedForApprefAppsWhenCreatedEventIsRaised(string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -86,7 +86,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("directory", "path.appref-ms")] - public void Win32ProgramRepository_MustCallOnAppDeletedForApprefApps_WhenDeletedEventIsRaised(string directory, string path) + public void Win32ProgramRepositoryMustCallOnAppDeletedForApprefAppsWhenDeletedEventIsRaised(string directory, string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -104,7 +104,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("directory", "oldpath.appref-ms", "newpath.appref-ms")] - public void Win32ProgramRepository_MustCallOnAppRenamedForApprefApps_WhenRenamedEventIsRaised(string directory, string oldpath, string newpath) + public void Win32ProgramRepositoryMustCallOnAppRenamedForApprefAppsWhenRenamedEventIsRaised(string directory, string oldpath, string newpath) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -127,7 +127,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("path.exe")] - public void Win32ProgramRepository_MustCallOnAppCreatedForExeApps_WhenCreatedEventIsRaised(string path) + public void Win32ProgramRepositoryMustCallOnAppCreatedForExeAppsWhenCreatedEventIsRaised(string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -147,7 +147,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("directory", "path.exe")] - public void Win32ProgramRepository_MustCallOnAppDeletedForExeApps_WhenDeletedEventIsRaised(string directory, string path) + public void Win32ProgramRepositoryMustCallOnAppDeletedForExeAppsWhenDeletedEventIsRaised(string directory, string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -170,7 +170,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("directory", "oldpath.appref-ms", "newpath.appref-ms")] - public void Win32ProgramRepository_MustCallOnAppRenamedForExeApps_WhenRenamedEventIsRaised(string directory, string oldpath, string newpath) + public void Win32ProgramRepositoryMustCallOnAppRenamedForExeAppsWhenRenamedEventIsRaised(string directory, string oldpath, string newpath) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -198,7 +198,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("path.url")] - public void Win32ProgramRepository_MustCallOnAppChangedForUrlApps_WhenChangedEventIsRaised(string path) + public void Win32ProgramRepositoryMustCallOnAppChangedForUrlAppsWhenChangedEventIsRaised(string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -218,7 +218,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("path.url")] - public void Win32ProgramRepository_MustNotCreateUrlApp_WhenCreatedEventIsRaised(string path) + public void Win32ProgramRepositoryMustNotCreateUrlAppWhenCreatedEventIsRaised(string path) { // We are handing internet shortcut apps using the Changed event instead @@ -241,7 +241,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage [TestCase("path.exe")] [TestCase("path.lnk")] [TestCase("path.appref-ms")] - public void Win32ProgramRepository_MustNotCreateAnyAppOtherThanUrlApp_WhenChangedEventIsRaised(string path) + public void Win32ProgramRepositoryMustNotCreateAnyAppOtherThanUrlAppWhenChangedEventIsRaised(string path) { // We are handing internet shortcut apps using the Changed event instead @@ -267,7 +267,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("directory", "path.url")] - public void Win32ProgramRepository_MustCallOnAppDeletedForUrlApps_WhenDeletedEventIsRaised(string directory, string path) + public void Win32ProgramRepositoryMustCallOnAppDeletedForUrlAppsWhenDeletedEventIsRaised(string directory, string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -290,7 +290,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("directory", "oldpath.url", "newpath.url")] - public void Win32ProgramRepository_MustCallOnAppRenamedForUrlApps_WhenRenamedEventIsRaised(string directory, string oldpath, string newpath) + public void Win32ProgramRepositoryMustCallOnAppRenamedForUrlAppsWhenRenamedEventIsRaised(string directory, string oldpath, string newpath) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -319,7 +319,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage [TestCase("path.lnk")] - public void Win32ProgramRepository_MustCallOnAppCreatedForLnkApps_WhenCreatedEventIsRaised(string path) + public void Win32ProgramRepositoryMustCallOnAppCreatedForLnkAppsWhenCreatedEventIsRaised(string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -339,7 +339,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("directory", "path.lnk")] - public void Win32ProgramRepository_MustCallOnAppDeletedForLnkApps_WhenDeletedEventIsRaised(string directory, string path) + public void Win32ProgramRepositoryMustCallOnAppDeletedForLnkAppsWhenDeletedEventIsRaised(string directory, string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch); @@ -369,7 +369,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Storage } [TestCase("directory", "oldpath.lnk", "path.lnk")] - public void Win32ProgramRepository_MustCallOnAppRenamedForLnkApps_WhenRenamedEventIsRaised(string directory, string oldpath, string path) + public void Win32ProgramRepositoryMustCallOnAppRenamedForLnkAppsWhenRenamedEventIsRaised(string directory, string oldpath, string path) { // Arrange Win32ProgramRepository _win32ProgramRepository = new Win32ProgramRepository(_fileSystemWatchers, new BinaryStorage>("Win32"), _settings, _pathsToWatch);