diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2019-11-08 13:37:15 +1000 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2019-11-08 14:53:03 +1000 |
| commit | e03595bdca426a03ad740e4c312f028f97f465ec (patch) | |
| tree | 2a433cc6defe72a2af8d33dc9596a986147d7174 /src/test/WixToolsetTest.CoreIntegration | |
| parent | 62c2eaf958c0b1a410fdf91dd0edcb542c60ef07 (diff) | |
| download | wix-e03595bdca426a03ad740e4c312f028f97f465ec.tar.gz wix-e03595bdca426a03ad740e4c312f028f97f465ec.tar.bz2 wix-e03595bdca426a03ad740e4c312f028f97f465ec.zip | |
Add failing test for decompiling a non-advertised shortcut with complex Target.
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration')
4 files changed, 54 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs b/src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs index bace97b3..d6cf4742 100644 --- a/src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs | |||
| @@ -96,5 +96,33 @@ namespace WixToolsetTest.CoreIntegration | |||
| 96 | Assert.Equal(expected, actualFormatted); | 96 | Assert.Equal(expected, actualFormatted); |
| 97 | } | 97 | } |
| 98 | } | 98 | } |
| 99 | |||
| 100 | [Fact(Skip = "Test demonstrates failure")] | ||
| 101 | public void CanDecompileShortcuts() | ||
| 102 | { | ||
| 103 | var folder = TestData.Get(@"TestData\Shortcut"); | ||
| 104 | |||
| 105 | using (var fs = new DisposableFileSystem()) | ||
| 106 | { | ||
| 107 | var intermediateFolder = fs.GetFolder(); | ||
| 108 | var outputPath = Path.Combine(intermediateFolder, @"Actual.wxs"); | ||
| 109 | |||
| 110 | var result = WixRunner.Execute(new[] | ||
| 111 | { | ||
| 112 | "decompile", | ||
| 113 | Path.Combine(folder, "shortcuts.msi"), | ||
| 114 | "-intermediateFolder", intermediateFolder, | ||
| 115 | "-o", outputPath | ||
| 116 | }); | ||
| 117 | |||
| 118 | result.AssertSuccess(); | ||
| 119 | |||
| 120 | var actual = File.ReadAllText(outputPath); | ||
| 121 | var actualFormatted = XDocument.Parse(actual, LoadOptions.PreserveWhitespace | LoadOptions.SetBaseUri | LoadOptions.SetLineInfo).ToString(); | ||
| 122 | var expected = XDocument.Load(Path.Combine(folder, "DecompiledShortcuts.wxs"), LoadOptions.PreserveWhitespace | LoadOptions.SetBaseUri | LoadOptions.SetLineInfo).ToString(); | ||
| 123 | |||
| 124 | Assert.Equal(expected, actualFormatted); | ||
| 125 | } | ||
| 126 | } | ||
| 99 | } | 127 | } |
| 100 | } | 128 | } |
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs new file mode 100644 index 00000000..3a9e401c --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 3 | <Product Id="{6CA94D1D-B568-4ED6-9EBC-3534C85970BB}" Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0"> | ||
| 4 | <Package Description="MsiPackage" InstallerVersion="500" Languages="1033" Manufacturer="Example Corporation" Platform="x86" /> | ||
| 5 | <Directory Id="TARGETDIR" Name="SourceDir"> | ||
| 6 | <Directory Id="ProgramFilesFolder"> | ||
| 7 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb"> | ||
| 8 | <Component Id="ShortcutComp" Guid="{5B3B3FC1-533D-4C29-BFB3-0E88B51E59D8}" Win64="no"> | ||
| 9 | <File Id="test.txt" Name="test.txt" KeyPath="yes" Source="SourceDir\\MsiPackage\test.txt" /> | ||
| 10 | <Shortcut Id="FileTargetShortcut" Directory="INSTALLFOLDER" Name="FileTargetShortcut" ShortName="lm2tdtqp" Target="[#test.txt]" /> | ||
| 11 | <Shortcut Id="CustomTargetShortcut" Directory="INSTALLFOLDER" Name="CustomTargetShortcut" ShortName="treusbt_" Target="[INSTALLFOLDER]custom.target" /> | ||
| 12 | <Shortcut Id="AdvtShortcut" Directory="INSTALLFOLDER" Name="AdvtShortcut" ShortName="mdbqel9r" Advertise="yes" /> | ||
| 13 | </Component> | ||
| 14 | </Directory> | ||
| 15 | </Directory> | ||
| 16 | </Directory> | ||
| 17 | <Feature Id="ProductFeature" Level="1" Title="MsiPackageTitle"> | ||
| 18 | <ComponentRef Id="ShortcutComp" Primary="yes" /> | ||
| 19 | </Feature> | ||
| 20 | <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> | ||
| 21 | <Media Id="1" /> | ||
| 22 | <Property Id="ALLUSERS" Value="1" /> | ||
| 23 | </Product> | ||
| 24 | </Wix> \ No newline at end of file | ||
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/shortcuts.msi b/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/shortcuts.msi new file mode 100644 index 00000000..3a24d1a8 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/shortcuts.msi | |||
| Binary files differ | |||
diff --git a/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj b/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj index b0e0d855..b0139b91 100644 --- a/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj +++ b/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj | |||
| @@ -48,7 +48,9 @@ | |||
| 48 | <Content Include="TestData\Registry\RemoveRegistryKey.wxs" CopyToOutputDirectory="PreserveNewest" /> | 48 | <Content Include="TestData\Registry\RemoveRegistryKey.wxs" CopyToOutputDirectory="PreserveNewest" /> |
| 49 | <Content Include="TestData\ReserveCost\ReserveCost.wxs" CopyToOutputDirectory="PreserveNewest" /> | 49 | <Content Include="TestData\ReserveCost\ReserveCost.wxs" CopyToOutputDirectory="PreserveNewest" /> |
| 50 | <Content Include="TestData\ServiceInstall\OwnProcess.wxs" CopyToOutputDirectory="PreserveNewest" /> | 50 | <Content Include="TestData\ServiceInstall\OwnProcess.wxs" CopyToOutputDirectory="PreserveNewest" /> |
| 51 | <Content Include="TestData\Shortcut\DecompiledShortcuts.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
| 51 | <Content Include="TestData\Shortcut\ShortcutProperty.wxs" CopyToOutputDirectory="PreserveNewest" /> | 52 | <Content Include="TestData\Shortcut\ShortcutProperty.wxs" CopyToOutputDirectory="PreserveNewest" /> |
| 53 | <Content Include="TestData\Shortcut\shortcuts.msi" CopyToOutputDirectory="PreserveNewest" /> | ||
| 52 | <Content Include="TestData\SimpleBundle\data\fakeba.dll" CopyToOutputDirectory="PreserveNewest" /> | 54 | <Content Include="TestData\SimpleBundle\data\fakeba.dll" CopyToOutputDirectory="PreserveNewest" /> |
| 53 | <Content Include="TestData\SimpleBundle\data\MsiPackage\Shared.dll" CopyToOutputDirectory="PreserveNewest" /> | 55 | <Content Include="TestData\SimpleBundle\data\MsiPackage\Shared.dll" CopyToOutputDirectory="PreserveNewest" /> |
| 54 | <Content Include="TestData\SimpleBundle\data\MsiPackage\test.txt" CopyToOutputDirectory="PreserveNewest" /> | 56 | <Content Include="TestData\SimpleBundle\data\MsiPackage\test.txt" CopyToOutputDirectory="PreserveNewest" /> |
