summaryrefslogtreecommitdiff
path: root/src/ext/Bal/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Bal/test')
-rw-r--r--src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs38
-rw-r--r--src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs12
2 files changed, 48 insertions, 2 deletions
diff --git a/src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs b/src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs
index 9aea8c1d..43484855 100644
--- a/src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs
+++ b/src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs
@@ -107,7 +107,41 @@ namespace WixToolsetTest.Bal
107 } 107 }
108 108
109 [Fact] 109 [Fact]
110 public void CantBuildUsingMBAWithNoPrereqs() 110 public void CanBuildUsingMBAWithAlwaysInstallPrereqs()
111 {
112 using (var fs = new DisposableFileSystem())
113 {
114 var baseFolder = fs.GetFolder();
115 var bundleFile = Path.Combine(baseFolder, "bin", "test.exe");
116 var bundleSourceFolder = TestData.Get(@"TestData\MBA");
117 var intermediateFolder = Path.Combine(baseFolder, "obj");
118 var baFolderPath = Path.Combine(baseFolder, "ba");
119 var extractFolderPath = Path.Combine(baseFolder, "extract");
120
121 var compileResult = WixRunner.Execute(new[]
122 {
123 "build",
124 Path.Combine(bundleSourceFolder, "AlwaysInstallPrereqsBundle.wxs"),
125 "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"),
126 "-intermediateFolder", intermediateFolder,
127 "-o", bundleFile,
128 });
129
130 compileResult.AssertSuccess();
131
132 Assert.True(File.Exists(bundleFile));
133
134 var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath);
135 extractResult.AssertSuccess();
136
137 var wixMbaPrereqOptionsElements = extractResult.SelectBADataNodes("/ba:BootstrapperApplicationData/ba:WixMbaPrereqOptions");
138 var wixMbaPrereqOptions = (XmlNode)Assert.Single(wixMbaPrereqOptionsElements);
139 Assert.Equal("<WixMbaPrereqOptions AlwaysInstallPrereqs='1' />", wixMbaPrereqOptions.GetTestXml());
140 }
141 }
142
143 [Fact]
144 public void CannotBuildUsingMBAWithNoPrereqs()
111 { 145 {
112 using (var fs = new DisposableFileSystem()) 146 using (var fs = new DisposableFileSystem())
113 { 147 {
@@ -133,7 +167,7 @@ namespace WixToolsetTest.Bal
133 } 167 }
134 168
135 [Fact] 169 [Fact]
136 public void CantBuildUsingOverridableWrongCase() 170 public void CannotBuildUsingOverridableWrongCase()
137 { 171 {
138 using (var fs = new DisposableFileSystem()) 172 using (var fs = new DisposableFileSystem())
139 { 173 {
diff --git a/src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs b/src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs
new file mode 100644
index 00000000..685fef7b
--- /dev/null
+++ b/src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="AlwaysInstallPrereqsBundle" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="{36E9E102-E0E4-4A91-941D-6681A49216E6}">
5 <BootstrapperApplication>
6 <bal:WixManagedBootstrapperApplicationHost AlwaysInstallPrereqs="yes" />
7 </BootstrapperApplication>
8 <Chain>
9 <ExePackage bal:PrereqPackage="yes" Permanent="yes" DetectCondition="none" SourceFile="runtimes\win-x86\native\wixnative.exe" />
10 </Chain>
11 </Bundle>
12</Wix>