diff --git a/test/Squirrel.Tests.csproj b/test/Squirrel.Tests.csproj index 28580b65..a9e15cfa 100644 --- a/test/Squirrel.Tests.csproj +++ b/test/Squirrel.Tests.csproj @@ -84,6 +84,7 @@ + @@ -98,6 +99,10 @@ {1436e22a-fe3c-4d68-9a85-9e74df2e6a92} Squirrel + + {1eebacbc-6982-4696-bd4e-899ed0ac6cd2} + Update + diff --git a/test/SquirrelAwareExecutableDetectorTests.cs b/test/SquirrelAwareExecutableDetectorTests.cs new file mode 100644 index 00000000..8630e4fc --- /dev/null +++ b/test/SquirrelAwareExecutableDetectorTests.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; +using Squirrel.Tests.TestHelpers; +using Xunit; + +namespace Squirrel.Tests +{ + public class SquirrelAwareExecutableDetectorTests + { + [Fact] + public void SquirrelAwareViaVersionBlock() + { + var target = Path.Combine( + IntegrationTestHelper.GetIntegrationTestRootDirectory(), + "..", "src", "Setup", "bin", "Release", "Setup.exe"); + + Assert.True(File.Exists(target)); + + var ret = SquirrelAwareExecutableDetector.GetPESquirrelAwareVersion(target); + Assert.Equal(1, ret.Value); + } + + [Fact] + public void SquirrelAwareViaAssemblyAttribute() + { + var target = Path.Combine( + IntegrationTestHelper.GetIntegrationTestRootDirectory(), + "..", "src", "Update", "bin", "Release", "Update.exe"); + + Assert.True(File.Exists(target)); + + var ret = SquirrelAwareExecutableDetector.GetPESquirrelAwareVersion(target); + Assert.Equal(1, ret.Value); + } + + [Fact] + public void NotSquirrelAware() + { + var target = Assembly.GetExecutingAssembly().Location; + Assert.True(File.Exists(target)); + + var ret = SquirrelAwareExecutableDetector.GetPESquirrelAwareVersion(target); + Assert.Null(ret); + } + } +}