aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2022-11-03 17:34:39 -0400
committerBob Arnson <github@bobs.org>2022-11-03 18:35:16 -0400
commit8f67ce3ce8a248b7421e14ec3dd6f65e9b53ea08 (patch)
tree2c09e5c40f8d12674f70d538f484cbf29dce1fd6
parent033f38a28c89945ce4379f5992e8f36943a125ab (diff)
downloadwix-8f67ce3ce8a248b7421e14ec3dd6f65e9b53ea08.tar.gz
wix-8f67ce3ce8a248b7421e14ec3dd6f65e9b53ea08.tar.bz2
wix-8f67ce3ce8a248b7421e14ec3dd6f65e9b53ea08.zip
Failing test for bug #6977.
https://github.com/wixtoolset/issues/issues/6977
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs51
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/DefaultName.wxs2
2 files changed, 53 insertions, 0 deletions
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
index d3fc5a86..f2ace1d0 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
@@ -135,6 +135,57 @@ namespace WixToolsetTest.CoreIntegration
135 } 135 }
136 } 136 }
137 137
138 [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6977")]
139 public void CanGetEmptyStandardDirectory()
140 {
141 var folder = TestData.Get(@"TestData");
142
143 using (var fs = new DisposableFileSystem())
144 {
145 var baseFolder = fs.GetFolder();
146 var intermediateFolder = Path.Combine(baseFolder, "obj");
147 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
148
149 var result = WixRunner.Execute(new[]
150 {
151 "build",
152 Path.Combine(folder, "Directory", "DefaultName.wxs"),
153 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
154 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
155 "-intermediateFolder", intermediateFolder,
156 "-o", msiPath
157 });
158
159 result.AssertSuccess();
160
161 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
162 var section = intermediate.Sections.Single();
163
164 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
165 WixAssert.CompareLineByLine(new[]
166 {
167 "BinFolder\tCompanyFolder\t.",
168 "CompanyFolder\tProgramFilesFolder\tExample Corporation",
169 "DesktopFolder\tTARGETDIR\t.",
170 "ProgramFilesFolder\tTARGETDIR\tPFiles",
171 "ProgramMenuFolder\tTARGETDIR\t.",
172 "TARGETDIR\t\tSourceDir"
173 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => String.Join('\t', d.Id.Id, d.ParentDirectoryRef, d.Name)).ToArray());
174
175 var data = WindowsInstallerData.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
176 var directoryRows = data.Tables["Directory"].Rows;
177 WixAssert.CompareLineByLine(new[]
178 {
179 "BinFolder\tCompanyFolder\t.",
180 "CompanyFolder\tProgramFilesFolder\tu7-b4gch|Example Corporation",
181 "DesktopFolder\tTARGETDIR\t.",
182 "ProgramFilesFolder\tTARGETDIR\tPFiles",
183 "ProgramMenuFolder\tTARGETDIR\t.",
184 "TARGETDIR\t\tSourceDir"
185 }, directoryRows.Select(r => String.Join('\t', r.FieldAsString(0), r.FieldAsString(1), r.FieldAsString(2))).ToArray());
186 }
187 }
188
138 [Fact] 189 [Fact]
139 public void CanGetDuplicateDir() 190 public void CanGetDuplicateDir()
140 { 191 {
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/DefaultName.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/DefaultName.wxs
index 3e7887c4..5707e677 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/DefaultName.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/DefaultName.wxs
@@ -4,6 +4,8 @@
4 <ComponentGroup Id="ProductComponents" Directory="BinFolder" /> 4 <ComponentGroup Id="ProductComponents" Directory="BinFolder" />
5 </Fragment> 5 </Fragment>
6 <Fragment> 6 <Fragment>
7 <StandardDirectory Id="DesktopFolder" />
8 <StandardDirectory Id="ProgramMenuFolder" />
7 <StandardDirectory Id="ProgramFilesFolder"> 9 <StandardDirectory Id="ProgramFilesFolder">
8 <Directory Id="CompanyFolder" Name="!(bind.Property.Manufacturer)"> 10 <Directory Id="CompanyFolder" Name="!(bind.Property.Manufacturer)">
9 <Directory Id="BinFolder" Name="." /> 11 <Directory Id="BinFolder" Name="." />