aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2025-05-19 22:17:08 -0400
committerBob Arnson <bob@firegiant.com>2025-05-19 22:17:08 -0400
commit9cc36b7cf3aff36baefd5d91d17a7c1ab364f370 (patch)
tree468667346b66f3b21a288d91f345bd8d7c19994f /src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
parentffbfeb3c0b9cb8084bd366404c0cb06d42e8caaf (diff)
downloadwix-bob/ExtensionDecompileAllTables.tar.gz
wix-bob/ExtensionDecompileAllTables.tar.bz2
wix-bob/ExtensionDecompileAllTables.zip
Send all tables to extension decompilers.bob/ExtensionDecompileAllTables
Also fix Firewall decompiler to decompile all possible Firewall tables. Fixes https://github.com/wixtoolset/issues/issues/9070
Diffstat (limited to 'src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs')
-rw-r--r--src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs b/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
index 4b9aecd7..9b4cb2b1 100644
--- a/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
+++ b/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
@@ -621,6 +621,39 @@ namespace WixToolsetTest.Firewall
621 }, locals.ToArray()); 621 }, locals.ToArray());
622 } 622 }
623 623
624 [TestMethod]
625 public void CanDecompileWix4FirewallPackage()
626 {
627 var folder = TestData.Get(@"TestData\DecompileWix4Firewall");
628 var output = Path.Combine(folder, "DecompiledWix4Firewall.xml");
629
630 var result = WixRunner.Execute(
631 "msi",
632 "decompile",
633 "-ext", Path.GetFullPath(typeof(FirewallExtensionFactory).Assembly.Location),
634 Path.Combine(folder, "Firewall4.msi"),
635 "-o", output
636 );
637 result.AssertSuccess();
638
639 var doc = XDocument.Load(output);
640 var actual = doc.Descendants()
641 .Where(e => e.Name.Namespace == "http://wixtoolset.org/schemas/v4/wxs/firewall")
642 .Select(fe => new { Name = fe.Name.LocalName, Attributes = fe.Attributes().Select(a => $"{a.Name.LocalName}={a.Value}").ToArray() })
643 .ToArray();
644
645 WixAssert.CompareLineByLine(new[]
646 {
647 "FirewallException",
648 "RemoteAddress",
649 "RemoteAddress",
650 "RemoteAddress",
651 "RemoteAddress",
652 "RemoteAddress",
653 "FirewallException",
654 }, actual.Select(a => a.Name).ToArray());
655 }
656
624 private static void Build(string[] args) 657 private static void Build(string[] args)
625 { 658 {
626 var result = WixRunner.Execute(args); 659 var result = WixRunner.Execute(args);