diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-05-16 16:07:43 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-05-17 22:54:13 -0500 |
| commit | 46fb0597d4d6192833ddcf836f4bcf6295ef0aaf (patch) | |
| tree | bfe188365bb37b298c42238d39568ebfc8809dcb /src/api/burn | |
| parent | 0ea53e27361cbfe664df98d717e55005f329aff1 (diff) | |
| download | wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.tar.gz wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.tar.bz2 wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.zip | |
Keep track of when parts of verutil/WixVersions are missing.
Return null when WixVersion.TryParse returns false.
6776
Diffstat (limited to 'src/api/burn')
| -rw-r--r-- | src/api/burn/WixToolset.Mba.Core/VerUtil.cs | 4 | ||||
| -rw-r--r-- | src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs | 24 | ||||
| -rw-r--r-- | src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs | 8 |
3 files changed, 36 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/VerUtil.cs b/src/api/burn/WixToolset.Mba.Core/VerUtil.cs index 611f9710..14552310 100644 --- a/src/api/burn/WixToolset.Mba.Core/VerUtil.cs +++ b/src/api/burn/WixToolset.Mba.Core/VerUtil.cs | |||
| @@ -68,6 +68,10 @@ namespace WixToolset.Mba.Core | |||
| 68 | public IntPtr rgReleaseLabels; | 68 | public IntPtr rgReleaseLabels; |
| 69 | public IntPtr cchMetadataOffset; | 69 | public IntPtr cchMetadataOffset; |
| 70 | public bool fInvalid; | 70 | public bool fInvalid; |
| 71 | public bool fHasMajor; | ||
| 72 | public bool fHasMinor; | ||
| 73 | public bool fHasPatch; | ||
| 74 | public bool fHasRevision; | ||
| 71 | } | 75 | } |
| 72 | 76 | ||
| 73 | internal static string VersionStringFromOffset(IntPtr wzVersion, IntPtr cchOffset, int? cchLength = null) | 77 | internal static string VersionStringFromOffset(IntPtr wzVersion, IntPtr cchOffset, int? cchLength = null) |
diff --git a/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs b/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs index 731dedaf..e0312474 100644 --- a/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs +++ b/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs | |||
| @@ -25,6 +25,10 @@ namespace WixToolset.Mba.Core | |||
| 25 | this.ReleaseLabels = new VerUtilVersionReleaseLabel[version.cReleaseLabels]; | 25 | this.ReleaseLabels = new VerUtilVersionReleaseLabel[version.cReleaseLabels]; |
| 26 | this.Metadata = VerUtil.VersionStringFromOffset(version.sczVersion, version.cchMetadataOffset); | 26 | this.Metadata = VerUtil.VersionStringFromOffset(version.sczVersion, version.cchMetadataOffset); |
| 27 | this.IsInvalid = version.fInvalid; | 27 | this.IsInvalid = version.fInvalid; |
| 28 | this.HasMajor = version.fHasMajor; | ||
| 29 | this.HasMinor = version.fHasMinor; | ||
| 30 | this.HasPatch = version.fHasPatch; | ||
| 31 | this.HasRevision = version.fHasRevision; | ||
| 28 | 32 | ||
| 29 | for (var i = 0; i < version.cReleaseLabels; ++i) | 33 | for (var i = 0; i < version.cReleaseLabels; ++i) |
| 30 | { | 34 | { |
| @@ -80,6 +84,26 @@ namespace WixToolset.Mba.Core | |||
| 80 | /// </summary> | 84 | /// </summary> |
| 81 | public bool IsInvalid { get; private set; } | 85 | public bool IsInvalid { get; private set; } |
| 82 | 86 | ||
| 87 | /// <summary> | ||
| 88 | /// Whether the Major part was specified. | ||
| 89 | /// </summary> | ||
| 90 | public bool HasMajor { get; private set; } | ||
| 91 | |||
| 92 | /// <summary> | ||
| 93 | /// Whether the Minor part was specified. | ||
| 94 | /// </summary> | ||
| 95 | public bool HasMinor { get; private set; } | ||
| 96 | |||
| 97 | /// <summary> | ||
| 98 | /// Whether the Patch part was specified. | ||
| 99 | /// </summary> | ||
| 100 | public bool HasPatch { get; private set; } | ||
| 101 | |||
| 102 | /// <summary> | ||
| 103 | /// Whether the Revision part was specified. | ||
| 104 | /// </summary> | ||
| 105 | public bool HasRevision { get; private set; } | ||
| 106 | |||
| 83 | /// <inheritdoc/> | 107 | /// <inheritdoc/> |
| 84 | public void Dispose() | 108 | public void Dispose() |
| 85 | { | 109 | { |
diff --git a/src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs b/src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs index ceb1b12a..6fb8aced 100644 --- a/src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs +++ b/src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs | |||
| @@ -57,6 +57,10 @@ namespace WixToolsetTest.Mba.Core | |||
| 57 | Assert.Empty(parsedVersion.ReleaseLabels); | 57 | Assert.Empty(parsedVersion.ReleaseLabels); |
| 58 | Assert.Equal("", parsedVersion.Metadata); | 58 | Assert.Equal("", parsedVersion.Metadata); |
| 59 | Assert.False(parsedVersion.IsInvalid); | 59 | Assert.False(parsedVersion.IsInvalid); |
| 60 | Assert.True(parsedVersion.HasMajor); | ||
| 61 | Assert.True(parsedVersion.HasMinor); | ||
| 62 | Assert.True(parsedVersion.HasPatch); | ||
| 63 | Assert.True(parsedVersion.HasRevision); | ||
| 60 | } | 64 | } |
| 61 | 65 | ||
| 62 | [Fact] | 66 | [Fact] |
| @@ -74,6 +78,10 @@ namespace WixToolsetTest.Mba.Core | |||
| 74 | Assert.Equal(5, parsedVersion.ReleaseLabels.Length); | 78 | Assert.Equal(5, parsedVersion.ReleaseLabels.Length); |
| 75 | Assert.Equal("+abc123", parsedVersion.Metadata); | 79 | Assert.Equal("+abc123", parsedVersion.Metadata); |
| 76 | Assert.True(parsedVersion.IsInvalid); | 80 | Assert.True(parsedVersion.IsInvalid); |
| 81 | Assert.True(parsedVersion.HasMajor); | ||
| 82 | Assert.True(parsedVersion.HasMinor); | ||
| 83 | Assert.True(parsedVersion.HasPatch); | ||
| 84 | Assert.True(parsedVersion.HasRevision); | ||
| 77 | 85 | ||
| 78 | Assert.Equal("a", parsedVersion.ReleaseLabels[0].Label); | 86 | Assert.Equal("a", parsedVersion.ReleaseLabels[0].Label); |
| 79 | Assert.False(parsedVersion.ReleaseLabels[0].IsNumeric); | 87 | Assert.False(parsedVersion.ReleaseLabels[0].IsNumeric); |
