aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs271
1 files changed, 0 insertions, 271 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
deleted file mode 100644
index a61bdff3..00000000
--- a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
+++ /dev/null
@@ -1,271 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.CoreIntegration
4{
5 using System;
6 using System.IO;
7 using System.Linq;
8 using WixBuildTools.TestSupport;
9 using WixToolset.Core.TestPackage;
10 using WixToolset.Data;
11 using WixToolset.Data.WindowsInstaller;
12 using Xunit;
13
14 public class DirectoryFixture
15 {
16 [Fact]
17 public void CanGet32bitProgramFiles6432Folder()
18 {
19 var folder = TestData.Get(@"TestData");
20
21 using (var fs = new DisposableFileSystem())
22 {
23 var baseFolder = fs.GetFolder();
24 var intermediateFolder = Path.Combine(baseFolder, "obj");
25 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
26
27 var result = WixRunner.Execute(new[]
28 {
29 "build",
30 Path.Combine(folder, "Directory", "Empty.wxs"),
31 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
32 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
33 "-intermediateFolder", intermediateFolder,
34 "-o", msiPath
35 });
36
37 result.AssertSuccess();
38
39 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
40 var section = intermediate.Sections.Single();
41
42 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
43 Assert.Equal(new[]
44 {
45 "INSTALLFOLDER:ProgramFiles6432Folder:MsiPackage",
46 "ProgramFiles6432Folder:ProgramFilesFolder:.",
47 "ProgramFilesFolder:TARGETDIR:PFiles",
48 "TARGETDIR::SourceDir"
49 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray());
50 }
51 }
52
53 [Fact]
54 public void CanGet64bitProgramFiles6432Folder()
55 {
56 var folder = TestData.Get(@"TestData");
57
58 using (var fs = new DisposableFileSystem())
59 {
60 var baseFolder = fs.GetFolder();
61 var intermediateFolder = Path.Combine(baseFolder, "obj");
62 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
63
64 var result = WixRunner.Execute(new[]
65 {
66 "build",
67 "-arch", "x64",
68 Path.Combine(folder, "Directory", "Empty.wxs"),
69 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
70 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
71 "-intermediateFolder", intermediateFolder,
72 "-o", msiPath
73 });
74
75 result.AssertSuccess();
76
77 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
78 var section = intermediate.Sections.Single();
79
80 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
81 Assert.Equal(new[]
82 {
83 "INSTALLFOLDER:ProgramFiles6432Folder:MsiPackage",
84 "ProgramFiles6432Folder:ProgramFiles64Folder:.",
85 "ProgramFiles64Folder:TARGETDIR:PFiles64",
86 "TARGETDIR::SourceDir"
87 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray());
88 }
89 }
90
91 [Fact]
92 public void CanGetDefaultName()
93 {
94 var folder = TestData.Get(@"TestData");
95
96 using (var fs = new DisposableFileSystem())
97 {
98 var baseFolder = fs.GetFolder();
99 var intermediateFolder = Path.Combine(baseFolder, "obj");
100 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
101
102 var result = WixRunner.Execute(new[]
103 {
104 "build",
105 Path.Combine(folder, "Directory", "DefaultName.wxs"),
106 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
107 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
108 "-intermediateFolder", intermediateFolder,
109 "-o", msiPath
110 });
111
112 result.AssertSuccess();
113
114 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
115 var section = intermediate.Sections.Single();
116
117 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
118 WixAssert.CompareLineByLine(new[]
119 {
120 "BinFolder\tCompanyFolder\t.",
121 "CompanyFolder\tProgramFilesFolder\tExample Corporation",
122 "ProgramFilesFolder\tTARGETDIR\tPFiles",
123 "TARGETDIR\t\tSourceDir"
124 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => String.Join('\t', d.Id.Id, d.ParentDirectoryRef, d.Name)).ToArray());
125
126 var data = WindowsInstallerData.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
127 var directoryRows = data.Tables["Directory"].Rows;
128 WixAssert.CompareLineByLine(new[]
129 {
130 "BinFolder\tCompanyFolder\t.",
131 "CompanyFolder\tProgramFilesFolder\tu7-b4gch|Example Corporation",
132 "ProgramFilesFolder\tTARGETDIR\tPFiles",
133 "TARGETDIR\t\tSourceDir"
134 }, directoryRows.Select(r => String.Join('\t', r.FieldAsString(0), r.FieldAsString(1), r.FieldAsString(2))).ToArray());
135 }
136 }
137
138 [Fact]
139 public void CanGetDuplicateDir()
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 "-arch", "x64",
153 Path.Combine(folder, "DuplicateDir", "DuplicateDir.wxs"),
154 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
155 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
156 "-intermediateFolder", intermediateFolder,
157 "-o", msiPath
158 });
159
160 result.AssertSuccess();
161
162 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
163 var section = intermediate.Sections.Single();
164
165 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
166 Assert.Equal(new[]
167 {
168 "dZsSsu81KcG46xXTwc4mTSZO5Zx4:INSTALLFOLDER:dupe",
169 "INSTALLFOLDER:ProgramFiles6432Folder:MsiPackage",
170 "ProgramFiles6432Folder:ProgramFiles64Folder:.",
171 "ProgramFiles64Folder:TARGETDIR:PFiles64",
172 "TARGETDIR::SourceDir"
173 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray());
174 }
175 }
176
177 [Fact]
178 public void CanGetWithMultiNestedSubdirectory()
179 {
180 var folder = TestData.Get(@"TestData");
181
182 using (var fs = new DisposableFileSystem())
183 {
184 var baseFolder = fs.GetFolder();
185 var intermediateFolder = Path.Combine(baseFolder, "obj");
186 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
187
188 var result = WixRunner.Execute(new[]
189 {
190 "build",
191 "-arch", "x64",
192 Path.Combine(folder, "Directory", "Nested.wxs"),
193 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
194 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
195 "-intermediateFolder", intermediateFolder,
196 "-o", msiPath
197 });
198
199 result.AssertSuccess();
200
201 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
202 var section = intermediate.Sections.Single();
203
204 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
205 Assert.Equal(new[]
206 {
207 "BinFolder:ProgramFilesFolder:Example Corporation\\Test Product\\bin",
208 "ProgramFilesFolder:TARGETDIR:PFiles",
209 "TARGETDIR::SourceDir"
210 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray());
211
212 var data = WindowsInstallerData.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
213 var directoryRows = data.Tables["Directory"].Rows;
214 Assert.Equal(new[]
215 {
216 "d4EceYatXTyy8HXPt5B6DT9Rj.wE:ProgramFilesFolder:u7-b4gch|Example Corporation",
217 "dSJ1pgiASlW7kJTu0wqsGBklJsS0:d4EceYatXTyy8HXPt5B6DT9Rj.wE:vjj-gxay|Test Product",
218 "BinFolder:dSJ1pgiASlW7kJTu0wqsGBklJsS0:bin",
219 "ProgramFilesFolder:TARGETDIR:PFiles",
220 "TARGETDIR::SourceDir"
221 }, directoryRows.Select(r => r.FieldAsString(0) + ":" + r.FieldAsString(1) + ":" + r.FieldAsString(2)).ToArray());
222 }
223 }
224
225 [Fact]
226 public void CanGetDuplicateTargetSourceName()
227 {
228 var folder = TestData.Get(@"TestData");
229
230 using (var fs = new DisposableFileSystem())
231 {
232 var baseFolder = fs.GetFolder();
233 var intermediateFolder = Path.Combine(baseFolder, "obj");
234 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
235
236 var result = WixRunner.Execute(new[]
237 {
238 "build",
239 "-arch", "x64",
240 Path.Combine(folder, "Directory", "DuplicateTargetSourceName.wxs"),
241 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
242 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
243 "-intermediateFolder", intermediateFolder,
244 "-o", msiPath
245 });
246
247 result.AssertSuccess();
248
249 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
250 var section = intermediate.Sections.Single();
251
252 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
253 Assert.Equal(new[]
254 {
255 "BinFolder\tProgramFilesFolder\tbin",
256 "ProgramFilesFolder\tTARGETDIR\tPFiles",
257 "TARGETDIR\t\tSourceDir"
258 }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => String.Join('\t', d.Id.Id, d.ParentDirectoryRef, d.Name)).ToArray());
259
260 var data = WindowsInstallerData.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
261 var directoryRows = data.Tables["Directory"].Rows;
262 Assert.Equal(new[]
263 {
264 "BinFolder\tProgramFilesFolder\tbin",
265 "ProgramFilesFolder\tTARGETDIR\tPFiles",
266 "TARGETDIR\t\tSourceDir"
267 }, directoryRows.Select(r => String.Join('\t', r.FieldAsString(0), r.FieldAsString(1), r.FieldAsString(2))).ToArray());
268 }
269 }
270 }
271}