diff options
Diffstat (limited to 'src/ext/Bal/test/WixToolsetTest.Bal')
-rw-r--r-- | src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs | 38 | ||||
-rw-r--r-- | src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs | 12 |
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> | ||