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.cs89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
new file mode 100644
index 00000000..83f2f2bb
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
@@ -0,0 +1,89 @@
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.IO;
6 using System.Linq;
7 using WixBuildTools.TestSupport;
8 using WixToolset.Core.TestPackage;
9 using WixToolset.Data;
10 using Xunit;
11
12 public class DirectoryFixture
13 {
14 [Fact]
15 public void CanGet32bitProgramFiles6432Folder()
16 {
17 var folder = TestData.Get(@"TestData");
18
19 using (var fs = new DisposableFileSystem())
20 {
21 var baseFolder = fs.GetFolder();
22 var intermediateFolder = Path.Combine(baseFolder, "obj");
23 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
24
25 var result = WixRunner.Execute(new[]
26 {
27 "build",
28 Path.Combine(folder, "Directory", "Empty.wxs"),
29 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
30 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
31 "-intermediateFolder", intermediateFolder,
32 "-o", msiPath
33 });
34
35 result.AssertSuccess();
36
37 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
38 var section = intermediate.Sections.Single();
39
40 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
41 Assert.Equal(new[]
42 {
43 "INSTALLFOLDER",
44 "ProgramFiles6432Folder",
45 "ProgramFilesFolder",
46 "TARGETDIR"
47 }, dirSymbols.Select(d => d.Id.Id).ToArray());
48 }
49 }
50
51 [Fact]
52 public void CanGet64bitProgramFiles6432Folder()
53 {
54 var folder = TestData.Get(@"TestData");
55
56 using (var fs = new DisposableFileSystem())
57 {
58 var baseFolder = fs.GetFolder();
59 var intermediateFolder = Path.Combine(baseFolder, "obj");
60 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
61
62 var result = WixRunner.Execute(new[]
63 {
64 "build",
65 "-arch", "x64",
66 Path.Combine(folder, "Directory", "Empty.wxs"),
67 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
68 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
69 "-intermediateFolder", intermediateFolder,
70 "-o", msiPath
71 });
72
73 result.AssertSuccess();
74
75 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
76 var section = intermediate.Sections.Single();
77
78 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
79 Assert.Equal(new[]
80 {
81 "INSTALLFOLDER",
82 "ProgramFiles6432Folder",
83 "ProgramFiles64Folder",
84 "TARGETDIR"
85 }, dirSymbols.Select(d => d.Id.Id).ToArray());
86 }
87 }
88 }
89}