diff options
| author | Bob Arnson <bob@firegiant.com> | 2022-12-12 21:12:51 -0500 |
|---|---|---|
| committer | Bob Arnson <github@bobs.org> | 2022-12-12 22:17:19 -0500 |
| commit | c54f3083489827a1e57c6fd7f3d76f62ddc6e85e (patch) | |
| tree | ae29b8417bb0bf1aae9739f6caa6451debf5d52b /src | |
| parent | b91ef8598fd8b16329b39b449555b8d1c00a0d06 (diff) | |
| download | wix-c54f3083489827a1e57c6fd7f3d76f62ddc6e85e.tar.gz wix-c54f3083489827a1e57c6fd7f3d76f62ddc6e85e.tar.bz2 wix-c54f3083489827a1e57c6fd7f3d76f62ddc6e85e.zip | |
Add message for DoAction WixUI custom actions.
Diffstat (limited to 'src')
| -rw-r--r-- | src/wix/WixToolset.Converters/WixConverter.cs | 10 | ||||
| -rw-r--r-- | src/wix/test/WixToolsetTest.Converters/ConverterFixture.cs | 37 |
2 files changed, 47 insertions, 0 deletions
diff --git a/src/wix/WixToolset.Converters/WixConverter.cs b/src/wix/WixToolset.Converters/WixConverter.cs index 61bd0f79..9359d0d2 100644 --- a/src/wix/WixToolset.Converters/WixConverter.cs +++ b/src/wix/WixToolset.Converters/WixConverter.cs | |||
| @@ -1676,6 +1676,16 @@ namespace WixToolset.Converters | |||
| 1676 | lab.AddCommentsAsSiblings(comments); | 1676 | lab.AddCommentsAsSiblings(comments); |
| 1677 | } | 1677 | } |
| 1678 | } | 1678 | } |
| 1679 | |||
| 1680 | var evnt = element.Attribute("Event")?.Value; | ||
| 1681 | var value = element.Attribute("Value")?.Value; | ||
| 1682 | |||
| 1683 | if (evnt?.Equals("DoAction", StringComparison.OrdinalIgnoreCase) == true | ||
| 1684 | && value?.StartsWith("WixUI", StringComparison.OrdinalIgnoreCase) == true | ||
| 1685 | && this.OnInformation(ConverterTestType.CustomActionIdsIncludePlatformSuffix, element, "Custom action ids have changed in WiX v4 extensions to support platform-specific custom actions. For more information, see https://wixtoolset.org/docs/fourthree/#converting-custom-wixui-dialog-sets.")) | ||
| 1686 | { | ||
| 1687 | // Just warn. | ||
| 1688 | } | ||
| 1679 | } | 1689 | } |
| 1680 | 1690 | ||
| 1681 | private void ConvertMultiStringValueElement(XElement element) | 1691 | private void ConvertMultiStringValueElement(XElement element) |
diff --git a/src/wix/test/WixToolsetTest.Converters/ConverterFixture.cs b/src/wix/test/WixToolsetTest.Converters/ConverterFixture.cs index b88d89d1..7aa1c959 100644 --- a/src/wix/test/WixToolsetTest.Converters/ConverterFixture.cs +++ b/src/wix/test/WixToolsetTest.Converters/ConverterFixture.cs | |||
| @@ -542,5 +542,42 @@ namespace WixToolsetTest.Converters | |||
| 542 | Assert.Equal(2, errors); | 542 | Assert.Equal(2, errors); |
| 543 | WixAssert.CompareLineByLine(expected, actual); | 543 | WixAssert.CompareLineByLine(expected, actual); |
| 544 | } | 544 | } |
| 545 | |||
| 546 | [Fact] | ||
| 547 | public void WarnsOnWixUIDoActionControlEvents() | ||
| 548 | { | ||
| 549 | var parse = String.Join(Environment.NewLine, | ||
| 550 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", | ||
| 551 | " <Fragment>", | ||
| 552 | " <UI Id='WixUI_Test'>", | ||
| 553 | " <Publish Dialog='BrowseDlg' Control='OK' Event='DoAction' Value='WixUIValidatePath' Order='3' />", | ||
| 554 | " </UI>", | ||
| 555 | " </Fragment>", | ||
| 556 | "</Wix>"); | ||
| 557 | |||
| 558 | var expected = new[] | ||
| 559 | { | ||
| 560 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", | ||
| 561 | " <Fragment>", | ||
| 562 | " <UI Id=\"WixUI_Test\">", | ||
| 563 | " <Publish Dialog=\"BrowseDlg\" Control=\"OK\" Event=\"DoAction\" Value=\"WixUIValidatePath\" Order=\"3\" />", | ||
| 564 | " </UI>", | ||
| 565 | " </Fragment>", | ||
| 566 | "</Wix>", | ||
| 567 | }; | ||
| 568 | |||
| 569 | var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo); | ||
| 570 | |||
| 571 | var messaging = new MockMessaging(); | ||
| 572 | var converter = new WixConverter(messaging, 2, null, null); | ||
| 573 | |||
| 574 | var errors = converter.ConvertDocument(document); | ||
| 575 | |||
| 576 | var actual = UnformattedDocumentLines(document); | ||
| 577 | |||
| 578 | Assert.Equal(2, errors); | ||
| 579 | Assert.Single(messaging.Messages.Where(m => m.Id == 65)); | ||
| 580 | WixAssert.CompareLineByLine(expected, actual); | ||
| 581 | } | ||
| 545 | } | 582 | } |
| 546 | } | 583 | } |
