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 | |
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')
-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 | ||||
-rw-r--r-- | src/api/wix/WixToolset.Data/WixVersion.cs | 33 | ||||
-rw-r--r-- | src/api/wix/test/WixToolsetTest.Data/WixVerFixture.cs | 80 |
5 files changed, 132 insertions, 17 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); |
diff --git a/src/api/wix/WixToolset.Data/WixVersion.cs b/src/api/wix/WixToolset.Data/WixVersion.cs index 2b02bd7d..ab68b55a 100644 --- a/src/api/wix/WixToolset.Data/WixVersion.cs +++ b/src/api/wix/WixToolset.Data/WixVersion.cs | |||
@@ -22,22 +22,42 @@ namespace WixToolset.Data | |||
22 | /// <summary> | 22 | /// <summary> |
23 | /// Gets or sets the major version. | 23 | /// Gets or sets the major version. |
24 | /// </summary> | 24 | /// </summary> |
25 | public uint? Major { get; set; } | 25 | public uint Major { get; set; } |
26 | 26 | ||
27 | /// <summary> | 27 | /// <summary> |
28 | /// Gets or sets the minor version. | 28 | /// Gets or sets the minor version. |
29 | /// </summary> | 29 | /// </summary> |
30 | public uint? Minor { get; set; } | 30 | public uint Minor { get; set; } |
31 | 31 | ||
32 | /// <summary> | 32 | /// <summary> |
33 | /// Gets or sets the patch version. | 33 | /// Gets or sets the patch version. |
34 | /// </summary> | 34 | /// </summary> |
35 | public uint? Patch { get; set; } | 35 | public uint Patch { get; set; } |
36 | 36 | ||
37 | /// <summary> | 37 | /// <summary> |
38 | /// Gets or sets the revision version. | 38 | /// Gets or sets the revision version. |
39 | /// </summary> | 39 | /// </summary> |
40 | public uint? Revision { get; set; } | 40 | public uint Revision { get; set; } |
41 | |||
42 | /// <summary> | ||
43 | /// Gets or sets whether the major version was defined. | ||
44 | /// </summary> | ||
45 | public bool HasMajor { get; set; } | ||
46 | |||
47 | /// <summary> | ||
48 | /// Gets or sets the whether the minor version was defined. | ||
49 | /// </summary> | ||
50 | public bool HasMinor { get; set; } | ||
51 | |||
52 | /// <summary> | ||
53 | /// Gets or sets the whether the patch version was defined. | ||
54 | /// </summary> | ||
55 | public bool HasPatch { get; set; } | ||
56 | |||
57 | /// <summary> | ||
58 | /// Gets or sets the whether the revision version was defined. | ||
59 | /// </summary> | ||
60 | public bool HasRevision { get; set; } | ||
41 | 61 | ||
42 | /// <summary> | 62 | /// <summary> |
43 | /// Gets or sets the labels in the version. | 63 | /// Gets or sets the labels in the version. |
@@ -143,15 +163,19 @@ namespace WixToolset.Data | |||
143 | { | 163 | { |
144 | case 0: | 164 | case 0: |
145 | version.Major = part; | 165 | version.Major = part; |
166 | version.HasMajor = true; | ||
146 | break; | 167 | break; |
147 | case 1: | 168 | case 1: |
148 | version.Minor = part; | 169 | version.Minor = part; |
170 | version.HasMinor = true; | ||
149 | break; | 171 | break; |
150 | case 2: | 172 | case 2: |
151 | version.Patch = part; | 173 | version.Patch = part; |
174 | version.HasPatch = true; | ||
152 | break; | 175 | break; |
153 | case 3: | 176 | case 3: |
154 | version.Revision = part; | 177 | version.Revision = part; |
178 | version.HasRevision = true; | ||
155 | break; | 179 | break; |
156 | } | 180 | } |
157 | 181 | ||
@@ -264,6 +288,7 @@ namespace WixToolset.Data | |||
264 | 288 | ||
265 | if (invalid) | 289 | if (invalid) |
266 | { | 290 | { |
291 | version = null; | ||
267 | return false; | 292 | return false; |
268 | } | 293 | } |
269 | 294 | ||
diff --git a/src/api/wix/test/WixToolsetTest.Data/WixVerFixture.cs b/src/api/wix/test/WixToolsetTest.Data/WixVerFixture.cs index 45253460..ffa3213a 100644 --- a/src/api/wix/test/WixToolsetTest.Data/WixVerFixture.cs +++ b/src/api/wix/test/WixToolsetTest.Data/WixVerFixture.cs | |||
@@ -11,13 +11,15 @@ namespace WixToolsetTest.Data | |||
11 | [Fact] | 11 | [Fact] |
12 | public void CannotParseEmptyStringAsVersion() | 12 | public void CannotParseEmptyStringAsVersion() |
13 | { | 13 | { |
14 | Assert.False(WixVersion.TryParse(String.Empty, out var _)); | 14 | Assert.False(WixVersion.TryParse(String.Empty, out var version)); |
15 | Assert.Null(version); | ||
15 | } | 16 | } |
16 | 17 | ||
17 | [Fact] | 18 | [Fact] |
18 | public void CannotParseInvalidStringAsVersion() | 19 | public void CannotParseInvalidStringAsVersion() |
19 | { | 20 | { |
20 | Assert.False(WixVersion.TryParse("invalid", out var _)); | 21 | Assert.False(WixVersion.TryParse("invalid", out var version)); |
22 | Assert.Null(version); | ||
21 | } | 23 | } |
22 | 24 | ||
23 | [Fact] | 25 | [Fact] |
@@ -29,6 +31,10 @@ namespace WixToolsetTest.Data | |||
29 | Assert.Equal((uint)2, version.Minor); | 31 | Assert.Equal((uint)2, version.Minor); |
30 | Assert.Equal((uint)3, version.Patch); | 32 | Assert.Equal((uint)3, version.Patch); |
31 | Assert.Equal((uint)4, version.Revision); | 33 | Assert.Equal((uint)4, version.Revision); |
34 | Assert.True(version.HasMajor); | ||
35 | Assert.True(version.HasMinor); | ||
36 | Assert.True(version.HasPatch); | ||
37 | Assert.True(version.HasRevision); | ||
32 | Assert.Null(version.Labels); | 38 | Assert.Null(version.Labels); |
33 | Assert.Null(version.Metadata); | 39 | Assert.Null(version.Metadata); |
34 | } | 40 | } |
@@ -41,7 +47,11 @@ namespace WixToolsetTest.Data | |||
41 | Assert.Equal((uint)1, version.Major); | 47 | Assert.Equal((uint)1, version.Major); |
42 | Assert.Equal((uint)2, version.Minor); | 48 | Assert.Equal((uint)2, version.Minor); |
43 | Assert.Equal((uint)3, version.Patch); | 49 | Assert.Equal((uint)3, version.Patch); |
44 | Assert.Null(version.Revision); | 50 | Assert.Equal((uint)0, version.Revision); |
51 | Assert.True(version.HasMajor); | ||
52 | Assert.True(version.HasMinor); | ||
53 | Assert.True(version.HasPatch); | ||
54 | Assert.False(version.HasRevision); | ||
45 | Assert.Null(version.Labels); | 55 | Assert.Null(version.Labels); |
46 | Assert.Null(version.Metadata); | 56 | Assert.Null(version.Metadata); |
47 | } | 57 | } |
@@ -55,6 +65,10 @@ namespace WixToolsetTest.Data | |||
55 | Assert.Equal((uint)2, version.Minor); | 65 | Assert.Equal((uint)2, version.Minor); |
56 | Assert.Equal((uint)3, version.Patch); | 66 | Assert.Equal((uint)3, version.Patch); |
57 | Assert.Equal((uint)0, version.Revision); | 67 | Assert.Equal((uint)0, version.Revision); |
68 | Assert.True(version.HasMajor); | ||
69 | Assert.True(version.HasMinor); | ||
70 | Assert.True(version.HasPatch); | ||
71 | Assert.True(version.HasRevision); | ||
58 | Assert.Null(version.Labels); | 72 | Assert.Null(version.Labels); |
59 | Assert.Null(version.Metadata); | 73 | Assert.Null(version.Metadata); |
60 | } | 74 | } |
@@ -66,8 +80,12 @@ namespace WixToolsetTest.Data | |||
66 | Assert.Null(version.Prefix); | 80 | Assert.Null(version.Prefix); |
67 | Assert.Equal((uint)1, version.Major); | 81 | Assert.Equal((uint)1, version.Major); |
68 | Assert.Equal((uint)2, version.Minor); | 82 | Assert.Equal((uint)2, version.Minor); |
69 | Assert.Null(version.Patch); | 83 | Assert.Equal((uint)0, version.Patch); |
70 | Assert.Null(version.Revision); | 84 | Assert.Equal((uint)0, version.Revision); |
85 | Assert.True(version.HasMajor); | ||
86 | Assert.True(version.HasMinor); | ||
87 | Assert.False(version.HasPatch); | ||
88 | Assert.False(version.HasRevision); | ||
71 | Assert.Equal("19", version.Labels[0].Label); | 89 | Assert.Equal("19", version.Labels[0].Label); |
72 | Assert.Equal((uint)19, version.Labels[0].Numeric); | 90 | Assert.Equal((uint)19, version.Labels[0].Numeric); |
73 | Assert.Null(version.Metadata); | 91 | Assert.Null(version.Metadata); |
@@ -80,8 +98,12 @@ namespace WixToolsetTest.Data | |||
80 | Assert.Null(version.Prefix); | 98 | Assert.Null(version.Prefix); |
81 | Assert.Equal((uint)1, version.Major); | 99 | Assert.Equal((uint)1, version.Major); |
82 | Assert.Equal((uint)2, version.Minor); | 100 | Assert.Equal((uint)2, version.Minor); |
83 | Assert.Null(version.Patch); | 101 | Assert.Equal((uint)0, version.Patch); |
84 | Assert.Null(version.Revision); | 102 | Assert.Equal((uint)0, version.Revision); |
103 | Assert.True(version.HasMajor); | ||
104 | Assert.True(version.HasMinor); | ||
105 | Assert.False(version.HasPatch); | ||
106 | Assert.False(version.HasRevision); | ||
85 | Assert.Equal("2", version.Labels[0].Label); | 107 | Assert.Equal("2", version.Labels[0].Label); |
86 | Assert.Equal((uint)2, version.Labels[0].Numeric); | 108 | Assert.Equal((uint)2, version.Labels[0].Numeric); |
87 | Assert.Equal("0", version.Labels[1].Label); | 109 | Assert.Equal("0", version.Labels[1].Label); |
@@ -97,6 +119,11 @@ namespace WixToolsetTest.Data | |||
97 | Assert.Equal((uint)0, version.Major); | 119 | Assert.Equal((uint)0, version.Major); |
98 | Assert.Equal((uint)0, version.Minor); | 120 | Assert.Equal((uint)0, version.Minor); |
99 | Assert.Equal((uint)1, version.Patch); | 121 | Assert.Equal((uint)1, version.Patch); |
122 | Assert.Equal((uint)0, version.Revision); | ||
123 | Assert.True(version.HasMajor); | ||
124 | Assert.True(version.HasMinor); | ||
125 | Assert.True(version.HasPatch); | ||
126 | Assert.False(version.HasRevision); | ||
100 | Assert.Equal("a", version.Labels[0].Label); | 127 | Assert.Equal("a", version.Labels[0].Label); |
101 | Assert.Null(version.Labels[0].Numeric); | 128 | Assert.Null(version.Labels[0].Numeric); |
102 | Assert.Null(version.Metadata); | 129 | Assert.Null(version.Metadata); |
@@ -109,8 +136,12 @@ namespace WixToolsetTest.Data | |||
109 | Assert.Null(version.Prefix); | 136 | Assert.Null(version.Prefix); |
110 | Assert.Equal((uint)0, version.Major); | 137 | Assert.Equal((uint)0, version.Major); |
111 | Assert.Equal((uint)1, version.Minor); | 138 | Assert.Equal((uint)1, version.Minor); |
112 | Assert.Null(version.Patch); | 139 | Assert.Equal((uint)0, version.Patch); |
113 | Assert.Null(version.Revision); | 140 | Assert.Equal((uint)0, version.Revision); |
141 | Assert.True(version.HasMajor); | ||
142 | Assert.True(version.HasMinor); | ||
143 | Assert.False(version.HasPatch); | ||
144 | Assert.False(version.HasRevision); | ||
114 | Assert.Equal("a", version.Labels[0].Label); | 145 | Assert.Equal("a", version.Labels[0].Label); |
115 | Assert.Null(version.Labels[0].Numeric); | 146 | Assert.Null(version.Labels[0].Numeric); |
116 | Assert.Equal("000", version.Labels[1].Label); | 147 | Assert.Equal("000", version.Labels[1].Label); |
@@ -126,7 +157,11 @@ namespace WixToolsetTest.Data | |||
126 | Assert.Equal((uint)1, version.Major); | 157 | Assert.Equal((uint)1, version.Major); |
127 | Assert.Equal((uint)2, version.Minor); | 158 | Assert.Equal((uint)2, version.Minor); |
128 | Assert.Equal((uint)3, version.Patch); | 159 | Assert.Equal((uint)3, version.Patch); |
129 | Assert.Null(version.Revision); | 160 | Assert.Equal((uint)0, version.Revision); |
161 | Assert.True(version.HasMajor); | ||
162 | Assert.True(version.HasMinor); | ||
163 | Assert.True(version.HasPatch); | ||
164 | Assert.False(version.HasRevision); | ||
130 | Assert.Null(version.Labels); | 165 | Assert.Null(version.Labels); |
131 | Assert.Equal("abcd", version.Metadata); | 166 | Assert.Equal("abcd", version.Metadata); |
132 | } | 167 | } |
@@ -134,8 +169,10 @@ namespace WixToolsetTest.Data | |||
134 | [Fact] | 169 | [Fact] |
135 | public void CannotParseUnexpectedContentAsMetadata() | 170 | public void CannotParseUnexpectedContentAsMetadata() |
136 | { | 171 | { |
137 | Assert.False(WixVersion.TryParse("1.2.3.abcd", out var _)); | 172 | Assert.False(WixVersion.TryParse("1.2.3.abcd", out var version)); |
138 | Assert.False(WixVersion.TryParse("1.2.3.-abcd", out var _)); | 173 | Assert.Null(version); |
174 | Assert.False(WixVersion.TryParse("1.2.3.-abcd", out version)); | ||
175 | Assert.Null(version); | ||
139 | } | 176 | } |
140 | 177 | ||
141 | [Fact] | 178 | [Fact] |
@@ -147,6 +184,10 @@ namespace WixToolsetTest.Data | |||
147 | Assert.Equal((uint)20, version.Minor); | 184 | Assert.Equal((uint)20, version.Minor); |
148 | Assert.Equal((uint)30, version.Patch); | 185 | Assert.Equal((uint)30, version.Patch); |
149 | Assert.Equal((uint)40, version.Revision); | 186 | Assert.Equal((uint)40, version.Revision); |
187 | Assert.True(version.HasMajor); | ||
188 | Assert.True(version.HasMinor); | ||
189 | Assert.True(version.HasPatch); | ||
190 | Assert.True(version.HasRevision); | ||
150 | Assert.Null(version.Labels); | 191 | Assert.Null(version.Labels); |
151 | Assert.Null(version.Metadata); | 192 | Assert.Null(version.Metadata); |
152 | 193 | ||
@@ -156,6 +197,10 @@ namespace WixToolsetTest.Data | |||
156 | Assert.Equal((uint)200, version2.Minor); | 197 | Assert.Equal((uint)200, version2.Minor); |
157 | Assert.Equal((uint)300, version2.Patch); | 198 | Assert.Equal((uint)300, version2.Patch); |
158 | Assert.Equal((uint)400, version2.Revision); | 199 | Assert.Equal((uint)400, version2.Revision); |
200 | Assert.True(version.HasMajor); | ||
201 | Assert.True(version.HasMinor); | ||
202 | Assert.True(version.HasPatch); | ||
203 | Assert.True(version.HasRevision); | ||
159 | Assert.Null(version2.Labels); | 204 | Assert.Null(version2.Labels); |
160 | Assert.Null(version2.Metadata); | 205 | Assert.Null(version2.Metadata); |
161 | } | 206 | } |
@@ -169,6 +214,10 @@ namespace WixToolsetTest.Data | |||
169 | Assert.Equal(4294967295, version.Minor); | 214 | Assert.Equal(4294967295, version.Minor); |
170 | Assert.Equal(4294967295, version.Patch); | 215 | Assert.Equal(4294967295, version.Patch); |
171 | Assert.Equal(4294967295, version.Revision); | 216 | Assert.Equal(4294967295, version.Revision); |
217 | Assert.True(version.HasMajor); | ||
218 | Assert.True(version.HasMinor); | ||
219 | Assert.True(version.HasPatch); | ||
220 | Assert.True(version.HasRevision); | ||
172 | Assert.Null(version.Labels); | 221 | Assert.Null(version.Labels); |
173 | Assert.Null(version.Metadata); | 222 | Assert.Null(version.Metadata); |
174 | } | 223 | } |
@@ -176,7 +225,8 @@ namespace WixToolsetTest.Data | |||
176 | [Fact] | 225 | [Fact] |
177 | public void CannotParseTooLargeNumbers() | 226 | public void CannotParseTooLargeNumbers() |
178 | { | 227 | { |
179 | Assert.False(WixVersion.TryParse("4294967296.4294967296.4294967296.4294967296", out var _)); | 228 | Assert.False(WixVersion.TryParse("4294967296.4294967296.4294967296.4294967296", out var version)); |
229 | Assert.Null(version); | ||
180 | } | 230 | } |
181 | 231 | ||
182 | [Fact] | 232 | [Fact] |
@@ -188,6 +238,10 @@ namespace WixToolsetTest.Data | |||
188 | Assert.Equal((uint)2, version.Minor); | 238 | Assert.Equal((uint)2, version.Minor); |
189 | Assert.Equal((uint)3, version.Patch); | 239 | Assert.Equal((uint)3, version.Patch); |
190 | Assert.Equal((uint)4, version.Revision); | 240 | Assert.Equal((uint)4, version.Revision); |
241 | Assert.True(version.HasMajor); | ||
242 | Assert.True(version.HasMinor); | ||
243 | Assert.True(version.HasPatch); | ||
244 | Assert.True(version.HasRevision); | ||
191 | Assert.Equal("a", version.Labels[0].Label); | 245 | Assert.Equal("a", version.Labels[0].Label); |
192 | Assert.Null(version.Labels[0].Numeric); | 246 | Assert.Null(version.Labels[0].Numeric); |
193 | Assert.Equal("b", version.Labels[1].Label); | 247 | Assert.Equal("b", version.Labels[1].Label); |