aboutsummaryrefslogtreecommitdiff
path: root/src/test/msi/WixToolsetTest.MsiE2E/XmlConfigTests.cs
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2023-04-27 21:06:35 -0400
committerRob Mensching <rob@firegiant.com>2023-06-03 01:24:39 -0700
commit1d7ca4c4d7edfb16be7ca24ca680c9b630d56e7c (patch)
tree0c6788530d37f1f683314e90a21019a8cd788ef5 /src/test/msi/WixToolsetTest.MsiE2E/XmlConfigTests.cs
parent1da29b425658bf1ddc774154d9bccaf940d0bc66 (diff)
downloadwix-1d7ca4c4d7edfb16be7ca24ca680c9b630d56e7c.tar.gz
wix-1d7ca4c4d7edfb16be7ca24ca680c9b630d56e7c.tar.bz2
wix-1d7ca4c4d7edfb16be7ca24ca680c9b630d56e7c.zip
Fix XmlConfig lookup logic.
Fixes https://github.com/wixtoolset/issues/issues/7377. Requires fix for https://github.com/wixtoolset/issues/issues/7444.
Diffstat (limited to '')
-rw-r--r--src/test/msi/WixToolsetTest.MsiE2E/XmlConfigTests.cs54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/test/msi/WixToolsetTest.MsiE2E/XmlConfigTests.cs b/src/test/msi/WixToolsetTest.MsiE2E/XmlConfigTests.cs
new file mode 100644
index 00000000..9b90cf46
--- /dev/null
+++ b/src/test/msi/WixToolsetTest.MsiE2E/XmlConfigTests.cs
@@ -0,0 +1,54 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.MsiE2E;
4
5using System;
6using System.IO;
7using System.Xml.Linq;
8using WixTestTools;
9using Xunit;
10using Xunit.Abstractions;
11
12public class XmlConfigTests : MsiE2ETests
13{
14 public XmlConfigTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
15 {
16 }
17
18 [RuntimeFact]
19 public void CanModifyXmlFileWithXmlConfig()
20 {
21 var product = this.CreatePackageInstaller("XmlConfig");
22
23 product.InstallProduct(MSIExec.MSIExecReturnCode.SUCCESS);
24
25 // Validate the expected changes in my.xml.
26 var myXmlPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "XmlConfig", "my.xml");
27 var content = File.ReadAllText(myXmlPath);
28 var xDoc = XDocument.Parse(content);
29
30 var xRoot = xDoc.Element("root");
31 var xChild1 = xRoot.Element("child1");
32 Assert.NotNull(xChild1);
33
34 var xGrandchild1 = xChild1.Element("grandchild1");
35 Assert.Null(xGrandchild1);
36
37 var xChild2 = xRoot.Element("child2");
38 Assert.NotNull(xChild2);
39
40 var xGrandchild3 = xChild2.Element("grandchild3");
41 Assert.NotNull(xGrandchild3);
42 Assert.True(xGrandchild3.HasAttributes);
43
44 var xAttribute1 = xGrandchild3.Attribute("TheAttribute1");
45 Assert.NotNull(xAttribute1);
46 Assert.Equal("AttributeValue1", xAttribute1.Value);
47
48 var xAttribute2 = xGrandchild3.Attribute("TheAttribute2");
49 Assert.NotNull(xAttribute2);
50 Assert.Equal("AttributeValue2", xAttribute2.Value);
51
52 product.UninstallProduct(MSIExec.MSIExecReturnCode.SUCCESS);
53 }
54}