diff options
author | Bob Arnson <bob@firegiant.com> | 2023-04-27 21:06:35 -0400 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2023-06-03 01:24:39 -0700 |
commit | 1d7ca4c4d7edfb16be7ca24ca680c9b630d56e7c (patch) | |
tree | 0c6788530d37f1f683314e90a21019a8cd788ef5 /src/test/msi/WixToolsetTest.MsiE2E/XmlConfigTests.cs | |
parent | 1da29b425658bf1ddc774154d9bccaf940d0bc66 (diff) | |
download | wix-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.cs | 54 |
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 | |||
3 | namespace WixToolsetTest.MsiE2E; | ||
4 | |||
5 | using System; | ||
6 | using System.IO; | ||
7 | using System.Xml.Linq; | ||
8 | using WixTestTools; | ||
9 | using Xunit; | ||
10 | using Xunit.Abstractions; | ||
11 | |||
12 | public 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 | } | ||