aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-04-06 09:34:57 -0700
committerRob Mensching <rob@firegiant.com>2021-04-06 16:10:05 -0700
commit86e59fdbc94ae661ca682f04cddb60d7830ae8a8 (patch)
tree227b19100f4f116abdd4b4996688a86d58ad3d32 /src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
parent860f77f7c9d522074dc7e44cfe11281efd20687f (diff)
downloadwix-86e59fdbc94ae661ca682f04cddb60d7830ae8a8.tar.gz
wix-86e59fdbc94ae661ca682f04cddb60d7830ae8a8.tar.bz2
wix-86e59fdbc94ae661ca682f04cddb60d7830ae8a8.zip
Introduce StandardDirectory for referencing standard directories
Completes wixtoolset/issues#6416
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
index 56f8ba82..fe5bb531 100644
--- a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
@@ -125,6 +125,52 @@ namespace WixToolsetTest.CoreIntegration
125 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray()); 125 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray());
126 } 126 }
127 } 127 }
128
129 [Fact]
130 public void CanGetWithMultiNestedSubdirectory()
131 {
132 var folder = TestData.Get(@"TestData");
133
134 using (var fs = new DisposableFileSystem())
135 {
136 var baseFolder = fs.GetFolder();
137 var intermediateFolder = Path.Combine(baseFolder, "obj");
138 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
139
140 var result = WixRunner.Execute(new[]
141 {
142 "build",
143 "-arch", "x64",
144 Path.Combine(folder, "Directory", "Nested.wxs"),
145 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
146 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
147 "-intermediateFolder", intermediateFolder,
148 "-o", msiPath
149 });
150
151 result.AssertSuccess();
152
153 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
154 var section = intermediate.Sections.Single();
155
156 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
157 Assert.Equal(new[]
158 {
159 "BinFolder:ProgramFilesFolder:Example Corporation\\Test Product\\bin",
160 "ProgramFilesFolder:TARGETDIR:PFiles",
161 "TARGETDIR::SourceDir"
162 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray());
163
164 var data = WindowsInstallerData.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
165 var directoryRows = data.Tables["Directory"].Rows;
166 Assert.Equal(new[]
167 {
168 "d4EceYatXTyy8HXPt5B6DT9Rj.wE:ProgramFilesFolder:u7-b4gch|Example Corporation",
169 "dSJ1pgiASlW7kJTu0wqsGBklJsS0:d4EceYatXTyy8HXPt5B6DT9Rj.wE:vjj-gxay|Test Product",
170 "BinFolder:dSJ1pgiASlW7kJTu0wqsGBklJsS0:bin",
171 "ProgramFilesFolder:TARGETDIR:PFiles",
172 "TARGETDIR::SourceDir"
173 }, directoryRows.Select(r => r.FieldAsString(0) + ":" + r.FieldAsString(1) + ":" + r.FieldAsString(2)).ToArray());
128 } 174 }
129 } 175 }
130 } 176 }