diff options
| author | Rob Mensching <rob@firegiant.com> | 2021-04-06 09:34:57 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2021-04-06 16:10:05 -0700 |
| commit | 86e59fdbc94ae661ca682f04cddb60d7830ae8a8 (patch) | |
| tree | 227b19100f4f116abdd4b4996688a86d58ad3d32 /src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs | |
| parent | 860f77f7c9d522074dc7e44cfe11281efd20687f (diff) | |
| download | wix-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.cs | 46 |
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 | } |
