aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-01-05 15:13:37 -0800
committerRob Mensching <rob@firegiant.com>2021-01-05 23:18:34 -0800
commit0d1851c79901ba6ddbba9bb63f758760fe5be994 (patch)
tree2ccb45459fe4290e9c3fb4ad698c20f9cd55203d /src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
parentb00c72ed0ef19d2e46f60361fa06821b0bd5ec94 (diff)
downloadwix-0d1851c79901ba6ddbba9bb63f758760fe5be994.tar.gz
wix-0d1851c79901ba6ddbba9bb63f758760fe5be994.tar.bz2
wix-0d1851c79901ba6ddbba9bb63f758760fe5be994.zip
Fix handling of duplicate directories
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
index 83f2f2bb..2d6e4802 100644
--- a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs
@@ -85,5 +85,44 @@ namespace WixToolsetTest.CoreIntegration
85 }, dirSymbols.Select(d => d.Id.Id).ToArray()); 85 }, dirSymbols.Select(d => d.Id.Id).ToArray());
86 } 86 }
87 } 87 }
88
89 [Fact]
90 public void CanGetDuplicateDir()
91 {
92 var folder = TestData.Get(@"TestData");
93
94 using (var fs = new DisposableFileSystem())
95 {
96 var baseFolder = fs.GetFolder();
97 var intermediateFolder = Path.Combine(baseFolder, "obj");
98 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
99
100 var result = WixRunner.Execute(new[]
101 {
102 "build",
103 "-arch", "x64",
104 Path.Combine(folder, "DuplicateDir", "DuplicateDir.wxs"),
105 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
106 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
107 "-intermediateFolder", intermediateFolder,
108 "-o", msiPath
109 });
110
111 result.AssertSuccess();
112
113 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
114 var section = intermediate.Sections.Single();
115
116 var dirSymbols = section.Symbols.OfType<WixToolset.Data.Symbols.DirectorySymbol>().ToList();
117 Assert.Equal(new[]
118 {
119 "dirZsSsu81KcG46xXTwc4mTSZO5Zx4",
120 "INSTALLFOLDER",
121 "ProgramFiles6432Folder",
122 "ProgramFiles64Folder",
123 "TARGETDIR"
124 }, dirSymbols.Select(d => d.Id.Id).ToArray());
125 }
126 }
88 } 127 }
89} 128}