aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/WixToolsetTest.DifxApp/DifxAppExtensionFixture.cs36
-rw-r--r--src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/Package.en-us.wxl11
-rw-r--r--src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/Package.wxs21
-rw-r--r--src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/PackageComponents.wxs12
-rw-r--r--src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/example.txt1
-rw-r--r--src/test/WixToolsetTest.DifxApp/WixToolsetTest.DifxApp.csproj38
6 files changed, 119 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.DifxApp/DifxAppExtensionFixture.cs b/src/test/WixToolsetTest.DifxApp/DifxAppExtensionFixture.cs
new file mode 100644
index 00000000..dbe257fa
--- /dev/null
+++ b/src/test/WixToolsetTest.DifxApp/DifxAppExtensionFixture.cs
@@ -0,0 +1,36 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.DifxApp
4{
5 using System.Linq;
6 using WixBuildTools.TestSupport;
7 using WixToolset.Core.TestPackage;
8 using WixToolset.DifxApp;
9 using Xunit;
10
11 public class DifxAppExtensionFixture
12 {
13 [Fact]
14 public void CanBuildUsingDriver()
15 {
16 var folder = TestData.Get(@"TestData\UsingDriver");
17 var build = new Builder(folder, typeof(DifxAppExtensionFactory), new[] { folder });
18
19 var results = build.BuildAndQuery(Build, "CustomAction");
20 Assert.Equal(new[]
21 {
22 "CustomAction:MsiCleanupOnSuccess\t1\tDIFxApp.dll\tCleanupOnSuccess\t0",
23 "CustomAction:MsiInstallDrivers\t3073\tDIFxAppA.dll\tInstallDriverPackages\t0",
24 "CustomAction:MsiProcessDrivers\t1\tDIFxApp.dll\tProcessDriverPackages\t0",
25 "CustomAction:MsiRollbackInstall\t3329\tDIFxAppA.dll\tRollbackInstall\t0",
26 "CustomAction:MsiUninstallDrivers\t3073\tDIFxAppA.dll\tUninstallDriverPackages\t0",
27 }, results.OrderBy(s => s).ToArray());
28 }
29
30 private static void Build(string[] args)
31 {
32 var result = WixRunner.Execute(args)
33 .AssertSuccess();
34 }
35 }
36}
diff --git a/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/Package.en-us.wxl b/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/Package.en-us.wxl
new file mode 100644
index 00000000..38c12ac1
--- /dev/null
+++ b/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/Package.en-us.wxl
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="utf-8"?>
2
3<!--
4This file contains the declaration of all the localizable strings.
5-->
6<WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US">
7
8 <String Id="DowngradeError">A newer version of [ProductName] is already installed.</String>
9 <String Id="FeatureTitle">MsiPackage</String>
10
11</WixLocalization>
diff --git a/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/Package.wxs b/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/Package.wxs
new file mode 100644
index 00000000..cdc323ec
--- /dev/null
+++ b/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/Package.wxs
@@ -0,0 +1,21 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 <MediaTemplate />
8
9 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
10 <ComponentGroupRef Id="ProductComponents" />
11 </Feature>
12 </Product>
13
14 <Fragment>
15 <Directory Id="TARGETDIR" Name="SourceDir">
16 <Directory Id="ProgramFilesFolder">
17 <Directory Id="INSTALLFOLDER" Name="MsiPackage" />
18 </Directory>
19 </Directory>
20 </Fragment>
21</Wix>
diff --git a/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/PackageComponents.wxs b/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/PackageComponents.wxs
new file mode 100644
index 00000000..9609771a
--- /dev/null
+++ b/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/PackageComponents.wxs
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:difxapp="http://wixtoolset.org/schemas/v4/wxs/difxapp">
4 <Fragment>
5 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
6 <Component>
7 <File Source="example.txt" />
8 <difxapp:Driver />
9 </Component>
10 </ComponentGroup>
11 </Fragment>
12</Wix>
diff --git a/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/example.txt b/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/example.txt
new file mode 100644
index 00000000..1b4ffe8a
--- /dev/null
+++ b/src/test/WixToolsetTest.DifxApp/TestData/UsingDriver/example.txt
@@ -0,0 +1 @@
This is example.txt. \ No newline at end of file
diff --git a/src/test/WixToolsetTest.DifxApp/WixToolsetTest.DifxApp.csproj b/src/test/WixToolsetTest.DifxApp/WixToolsetTest.DifxApp.csproj
new file mode 100644
index 00000000..d2d0de50
--- /dev/null
+++ b/src/test/WixToolsetTest.DifxApp/WixToolsetTest.DifxApp.csproj
@@ -0,0 +1,38 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4<Project Sdk="Microsoft.NET.Sdk">
5 <PropertyGroup>
6 <TargetFramework>netcoreapp2.1</TargetFramework>
7 <IsPackable>false</IsPackable>
8 </PropertyGroup>
9
10 <PropertyGroup>
11 <NoWarn>NU1701</NoWarn>
12 </PropertyGroup>
13
14 <ItemGroup>
15 <Content Include="TestData\UsingDriver\example.txt" CopyToOutputDirectory="PreserveNewest" />
16 <Content Include="TestData\UsingDriver\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" />
17 <Content Include="TestData\UsingDriver\Package.wxs" CopyToOutputDirectory="PreserveNewest" />
18 <Content Include="TestData\UsingDriver\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" />
19 </ItemGroup>
20
21 <ItemGroup>
22 <ProjectReference Include="..\..\wixext\WixToolset.DifxApp.wixext.csproj" />
23 </ItemGroup>
24
25 <ItemGroup>
26 <PackageReference Include="WixToolset.Core.TestPackage" Version="4.0.*" PrivateAssets="all" />
27 </ItemGroup>
28
29 <ItemGroup>
30 <PackageReference Include="WixBuildTools.TestSupport" Version="4.0.*" />
31 </ItemGroup>
32
33 <ItemGroup>
34 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
35 <PackageReference Include="xunit" Version="2.4.0" />
36 <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
37 </ItemGroup>
38</Project>