Enable starting apps with command line arguments when run as admin is selected (#6923)

* Enable Run as Admin Arguments

* Use a seperate function for both methods which were generating ProcessStartInfo fixes missing LnkResolvedPath missing in contextmenu (E.g. Shortcuts / PWA's).

* Update tests

* Move ProgramArguments to Result class

Co-authored-by: Roy <royvou@hotmailcom>
This commit is contained in:
Roy
2020-10-21 20:49:55 +02:00
committed by GitHub
parent 8d9e85f4f5
commit 29ed39c7ae
6 changed files with 47 additions and 29 deletions

View File

@@ -439,7 +439,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _pinnedWebpage.ContextMenus(mock.Object);
List<ContextMenuResult> contextMenuResults = _pinnedWebpage.ContextMenus(string.Empty, mock.Object);
// Assert
Assert.AreEqual(3, contextMenuResults.Count);
@@ -455,7 +455,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _dummyInternetShortcutApp.ContextMenus(mock.Object);
List<ContextMenuResult> contextMenuResults = _dummyInternetShortcutApp.ContextMenus(string.Empty, mock.Object);
// Assert
Assert.AreEqual(2, contextMenuResults.Count);
@@ -470,7 +470,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _chrome.ContextMenus(mock.Object);
List<ContextMenuResult> contextMenuResults = _chrome.ContextMenus(string.Empty, mock.Object);
// Assert
Assert.AreEqual(3, contextMenuResults.Count);
@@ -486,7 +486,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _cmdRunCommand.ContextMenus(mock.Object);
List<ContextMenuResult> contextMenuResults = _cmdRunCommand.ContextMenus(string.Empty, mock.Object);
// Assert
Assert.AreEqual(3, contextMenuResults.Count);
@@ -502,7 +502,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _dummyAppRefApp.ContextMenus(mock.Object);
List<ContextMenuResult> contextMenuResults = _dummyAppRefApp.ContextMenus(string.Empty, mock.Object);
// Assert
Assert.AreEqual(3, contextMenuResults.Count);
@@ -518,7 +518,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _dummyShortcutApp.ContextMenus(mock.Object);
List<ContextMenuResult> contextMenuResults = _dummyShortcutApp.ContextMenus(string.Empty, mock.Object);
// Assert
Assert.AreEqual(3, contextMenuResults.Count);
@@ -534,7 +534,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _dummyFolderApp.ContextMenus(mock.Object);
List<ContextMenuResult> contextMenuResults = _dummyFolderApp.ContextMenus(string.Empty, mock.Object);
// Assert
Assert.AreEqual(2, contextMenuResults.Count);
@@ -549,7 +549,7 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _dummyGenericFileApp.ContextMenus(mock.Object);
List<ContextMenuResult> contextMenuResults = _dummyGenericFileApp.ContextMenus(string.Empty, mock.Object);
// Assert
Assert.AreEqual(2, contextMenuResults.Count);
@@ -586,5 +586,20 @@ namespace Microsoft.Plugin.Program.UnitTests.Programs
// Act
return Win32Program.GetAppTypeFromPath(path);
}
[TestCase(null)]
[TestCase("")]
[TestCase("ping 1.1.1.1")]
public void EmptyArgumentsShouldNotThrow(string argument)
{
// Arrange
var mock = new Mock<IPublicAPI>();
// Act
List<ContextMenuResult> contextMenuResults = _dummyInternetShortcutApp.ContextMenus(argument, mock.Object);
// Assert (Should always return if the above does not throw any exception)
Assert.True(true);
}
}
}