From c455d2290ef903ff36d540903e27d76d473cb67c Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 27 Mar 2020 14:30:35 +1000 Subject: Add SetVariable. --- .../BundleManifestFixture.cs | 44 ++++++++++++++++++++++ .../TestData/SetVariable/Simple.wxs | 15 ++++++++ .../WixToolsetTest.CoreIntegration.csproj | 1 + 3 files changed, 60 insertions(+) create mode 100644 src/test/WixToolsetTest.CoreIntegration/TestData/SetVariable/Simple.wxs (limited to 'src/test') diff --git a/src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs b/src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs index 80f7b875..174ac21b 100644 --- a/src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs @@ -113,5 +113,49 @@ namespace WixToolsetTest.CoreIntegration "", bundleExtensionDatas[0].GetTestXml()); } } + + [Fact] + public void PopulatesManifestWithSetVariables() + { + var burnStubPath = TestData.Get(@"TestData\.Data\burn.exe"); + var folder = TestData.Get(@"TestData"); + + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var bundlePath = Path.Combine(baseFolder, @"bin\test.exe"); + var baFolderPath = Path.Combine(baseFolder, "ba"); + var extractFolderPath = Path.Combine(baseFolder, "extract"); + + var result = WixRunner.Execute(new[] + { + "build", + Path.Combine(folder, "SetVariable", "Simple.wxs"), + Path.Combine(folder, "BundleWithPackageGroupRef", "MinimalPackageGroup.wxs"), + Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"), + "-bindpath", Path.Combine(folder, "SimpleBundle", "data"), + "-intermediateFolder", intermediateFolder, + "-burnStub", burnStubPath, + "-o", bundlePath + }); + + result.AssertSuccess(); + + Assert.True(File.Exists(bundlePath)); + + var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); + extractResult.AssertSuccess(); + + var setVariables = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:SetVariable"); + Assert.Equal(6, setVariables.Count); + Assert.Equal("", setVariables[0].GetTestXml()); + Assert.Equal("", setVariables[1].GetTestXml()); + Assert.Equal("", setVariables[2].GetTestXml()); + Assert.Equal("", setVariables[3].GetTestXml()); + Assert.Equal("", setVariables[4].GetTestXml()); + Assert.Equal("", setVariables[5].GetTestXml()); + } + } } } diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SetVariable/Simple.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SetVariable/Simple.wxs new file mode 100644 index 00000000..96c92e54 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SetVariable/Simple.wxs @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj b/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj index 324d04ff..921c77f9 100644 --- a/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj +++ b/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj @@ -112,6 +112,7 @@ + -- cgit v1.2.3-55-g6feb