diff options
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration')
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/RegistryFixture.cs | 26 | ||||
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/TestData/Registry/DuplicateRegistryValueIds.wxs | 14 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/RegistryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/RegistryFixture.cs index 654b8740..e4d95b5d 100644 --- a/src/test/WixToolsetTest.CoreIntegration/RegistryFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/RegistryFixture.cs | |||
| @@ -80,6 +80,32 @@ namespace WixToolsetTest.CoreIntegration | |||
| 80 | } | 80 | } |
| 81 | 81 | ||
| 82 | [Fact] | 82 | [Fact] |
| 83 | public void DuplicateRegistryValueIdsAreDetectedSmoothly() | ||
| 84 | { | ||
| 85 | var folder = TestData.Get(@"TestData"); | ||
| 86 | |||
| 87 | using (var fs = new DisposableFileSystem()) | ||
| 88 | { | ||
| 89 | var baseFolder = fs.GetFolder(); | ||
| 90 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 91 | var msiPath = Path.Combine(baseFolder, @"bin\test.msi"); | ||
| 92 | |||
| 93 | var result = WixRunner.Execute(new[] | ||
| 94 | { | ||
| 95 | "build", | ||
| 96 | Path.Combine(folder, "Registry", "DuplicateRegistryValueIds.wxs"), | ||
| 97 | Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"), | ||
| 98 | "-bindpath", Path.Combine(folder, "SingleFile", "data"), | ||
| 99 | "-intermediateFolder", intermediateFolder, | ||
| 100 | "-o", msiPath | ||
| 101 | }, out var messages); | ||
| 102 | |||
| 103 | Assert.Equal(2, messages.Where(m => m.Id == (int)ErrorMessages.Ids.DuplicateSymbol).Count()); | ||
| 104 | Assert.Equal(2, messages.Where(m => m.Id == (int)ErrorMessages.Ids.DuplicateSymbol2).Count()); | ||
| 105 | } | ||
| 106 | } | ||
| 107 | |||
| 108 | [Fact] | ||
| 83 | public void PopulatesRegistryTableFromRemoveRegistryKey() | 109 | public void PopulatesRegistryTableFromRemoveRegistryKey() |
| 84 | { | 110 | { |
| 85 | var folder = TestData.Get(@"TestData"); | 111 | var folder = TestData.Get(@"TestData"); |
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Registry/DuplicateRegistryValueIds.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Registry/DuplicateRegistryValueIds.wxs new file mode 100644 index 00000000..452aea69 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Registry/DuplicateRegistryValueIds.wxs | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8" ?> | ||
| 2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 3 | <Fragment> | ||
| 4 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
| 5 | <Component> | ||
| 6 | <RegistryKey Root="HKLM" Key="Software\Acme\Foobar 1.0"> | ||
| 7 | <RegistryValue Type="string" Name="InstallDir" Value="[TARGETDIR]" /> | ||
| 8 | <RegistryValue Type="string" Name="InstallDir" Value="[INSTALLDIR]" /> | ||
| 9 | <RegistryValue Type="string" Name="InstallDir" Value="[ProgramFilesFolder]" /> | ||
| 10 | </RegistryKey> | ||
| 11 | </Component> | ||
| 12 | </ComponentGroup> | ||
| 13 | </Fragment> | ||
| 14 | </Wix> | ||
