diff options
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs')
-rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs b/src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs index 3a9781df..bace97b3 100644 --- a/src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/DecompileFixture.cs | |||
@@ -65,5 +65,36 @@ namespace WixToolsetTest.CoreIntegration | |||
65 | Assert.Equal(expected, actualFormatted); | 65 | Assert.Equal(expected, actualFormatted); |
66 | } | 66 | } |
67 | } | 67 | } |
68 | |||
69 | [Fact(Skip = "Test demonstrates failure")] | ||
70 | public void CanDecompileOldClassTableDefinition() | ||
71 | { | ||
72 | // The input MSI was not created using standard methods, it is an example of a real world database that needs to be decompiled. | ||
73 | // The Class/@Feature_ column has length of 32, the File/@Attributes has length of 2, | ||
74 | // and numerous foreign key relationships are missing. | ||
75 | var folder = TestData.Get(@"TestData\Class"); | ||
76 | |||
77 | using (var fs = new DisposableFileSystem()) | ||
78 | { | ||
79 | var intermediateFolder = fs.GetFolder(); | ||
80 | var outputPath = Path.Combine(intermediateFolder, @"Actual.wxs"); | ||
81 | |||
82 | var result = WixRunner.Execute(new[] | ||
83 | { | ||
84 | "decompile", | ||
85 | Path.Combine(folder, "OldClassTableDef.msi"), | ||
86 | "-intermediateFolder", intermediateFolder, | ||
87 | "-o", outputPath | ||
88 | }); | ||
89 | |||
90 | result.AssertSuccess(); | ||
91 | |||
92 | var actual = File.ReadAllText(outputPath); | ||
93 | var actualFormatted = XDocument.Parse(actual, LoadOptions.PreserveWhitespace | LoadOptions.SetBaseUri | LoadOptions.SetLineInfo).ToString(); | ||
94 | var expected = XDocument.Load(Path.Combine(folder, "DecompiledOldClassTableDef.wxs"), LoadOptions.PreserveWhitespace | LoadOptions.SetBaseUri | LoadOptions.SetLineInfo).ToString(); | ||
95 | |||
96 | Assert.Equal(expected, actualFormatted); | ||
97 | } | ||
98 | } | ||
68 | } | 99 | } |
69 | } | 100 | } |