aboutsummaryrefslogtreecommitdiff
path: root/src/libs/dutil/test/DUtilUnitTest
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-05-16 16:07:43 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-05-17 22:54:13 -0500
commit46fb0597d4d6192833ddcf836f4bcf6295ef0aaf (patch)
treebfe188365bb37b298c42238d39568ebfc8809dcb /src/libs/dutil/test/DUtilUnitTest
parent0ea53e27361cbfe664df98d717e55005f329aff1 (diff)
downloadwix-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/libs/dutil/test/DUtilUnitTest')
-rw-r--r--src/libs/dutil/test/DUtilUnitTest/VerUtilTests.cpp168
1 files changed, 168 insertions, 0 deletions
diff --git a/src/libs/dutil/test/DUtilUnitTest/VerUtilTests.cpp b/src/libs/dutil/test/DUtilUnitTest/VerUtilTests.cpp
index c20b9887..3402097c 100644
--- a/src/libs/dutil/test/DUtilUnitTest/VerUtilTests.cpp
+++ b/src/libs/dutil/test/DUtilUnitTest/VerUtilTests.cpp
@@ -42,6 +42,10 @@ namespace DutilTests
42 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels); 42 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels);
43 Assert::Equal<DWORD>(7, pVersion1->cchMetadataOffset); 43 Assert::Equal<DWORD>(7, pVersion1->cchMetadataOffset);
44 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 44 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
45 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
46 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
47 Assert::Equal<BOOL>(TRUE, pVersion1->fHasPatch);
48 Assert::Equal<BOOL>(TRUE, pVersion1->fHasRevision);
45 49
46 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 50 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
47 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 51 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -52,6 +56,10 @@ namespace DutilTests
52 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels); 56 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels);
53 Assert::Equal<DWORD>(5, pVersion2->cchMetadataOffset); 57 Assert::Equal<DWORD>(5, pVersion2->cchMetadataOffset);
54 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid); 58 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid);
59 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
60 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMinor);
61 Assert::Equal<BOOL>(TRUE, pVersion2->fHasPatch);
62 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
55 63
56 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion); 64 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion);
57 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix); 65 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix);
@@ -62,6 +70,10 @@ namespace DutilTests
62 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels); 70 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels);
63 Assert::Equal<DWORD>(7, pVersion3->cchMetadataOffset); 71 Assert::Equal<DWORD>(7, pVersion3->cchMetadataOffset);
64 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid); 72 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid);
73 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMajor);
74 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMinor);
75 Assert::Equal<BOOL>(TRUE, pVersion3->fHasPatch);
76 Assert::Equal<BOOL>(TRUE, pVersion3->fHasRevision);
65 77
66 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1); 78 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1);
67 TestVerutilCompareParsedVersions(pVersion3, pVersion2, 0); 79 TestVerutilCompareParsedVersions(pVersion3, pVersion2, 0);
@@ -111,6 +123,10 @@ namespace DutilTests
111 123
112 Assert::Equal<DWORD>(7, pVersion1->cchMetadataOffset); 124 Assert::Equal<DWORD>(7, pVersion1->cchMetadataOffset);
113 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 125 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
126 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
127 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
128 Assert::Equal<BOOL>(FALSE, pVersion1->fHasPatch);
129 Assert::Equal<BOOL>(FALSE, pVersion1->fHasRevision);
114 130
115 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 131 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
116 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 132 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -127,6 +143,10 @@ namespace DutilTests
127 143
128 Assert::Equal<DWORD>(6, pVersion2->cchMetadataOffset); 144 Assert::Equal<DWORD>(6, pVersion2->cchMetadataOffset);
129 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid); 145 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid);
146 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
147 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMinor);
148 Assert::Equal<BOOL>(FALSE, pVersion2->fHasPatch);
149 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
130 150
131 TestVerutilCompareParsedVersions(pVersion1, pVersion2, -1); 151 TestVerutilCompareParsedVersions(pVersion1, pVersion2, -1);
132 } 152 }
@@ -183,6 +203,10 @@ namespace DutilTests
183 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels); 203 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels);
184 Assert::Equal<DWORD>(3, pVersion1->cchMetadataOffset); 204 Assert::Equal<DWORD>(3, pVersion1->cchMetadataOffset);
185 Assert::Equal<BOOL>(TRUE, pVersion1->fInvalid); 205 Assert::Equal<BOOL>(TRUE, pVersion1->fInvalid);
206 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
207 Assert::Equal<BOOL>(FALSE, pVersion1->fHasMinor);
208 Assert::Equal<BOOL>(FALSE, pVersion1->fHasPatch);
209 Assert::Equal<BOOL>(FALSE, pVersion1->fHasRevision);
186 210
187 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 211 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
188 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 212 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -193,6 +217,10 @@ namespace DutilTests
193 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels); 217 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels);
194 Assert::Equal<DWORD>(3, pVersion2->cchMetadataOffset); 218 Assert::Equal<DWORD>(3, pVersion2->cchMetadataOffset);
195 Assert::Equal<BOOL>(TRUE, pVersion2->fInvalid); 219 Assert::Equal<BOOL>(TRUE, pVersion2->fInvalid);
220 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
221 Assert::Equal<BOOL>(FALSE, pVersion2->fHasMinor);
222 Assert::Equal<BOOL>(FALSE, pVersion2->fHasPatch);
223 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
196 224
197 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion); 225 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion);
198 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix); 226 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix);
@@ -203,6 +231,10 @@ namespace DutilTests
203 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels); 231 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels);
204 Assert::Equal<DWORD>(1, pVersion3->cchMetadataOffset); 232 Assert::Equal<DWORD>(1, pVersion3->cchMetadataOffset);
205 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid); 233 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid);
234 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMajor);
235 Assert::Equal<BOOL>(FALSE, pVersion3->fHasMinor);
236 Assert::Equal<BOOL>(FALSE, pVersion3->fHasPatch);
237 Assert::Equal<BOOL>(FALSE, pVersion3->fHasRevision);
206 238
207 NativeAssert::StringEqual(wzVersion4, pVersion4->sczVersion); 239 NativeAssert::StringEqual(wzVersion4, pVersion4->sczVersion);
208 Assert::Equal<WCHAR>(L'\0', pVersion4->chPrefix); 240 Assert::Equal<WCHAR>(L'\0', pVersion4->chPrefix);
@@ -213,6 +245,10 @@ namespace DutilTests
213 Assert::Equal<DWORD>(0, pVersion4->cReleaseLabels); 245 Assert::Equal<DWORD>(0, pVersion4->cReleaseLabels);
214 Assert::Equal<DWORD>(0, pVersion4->cchMetadataOffset); 246 Assert::Equal<DWORD>(0, pVersion4->cchMetadataOffset);
215 Assert::Equal<BOOL>(TRUE, pVersion4->fInvalid); 247 Assert::Equal<BOOL>(TRUE, pVersion4->fInvalid);
248 Assert::Equal<BOOL>(FALSE, pVersion4->fHasMajor);
249 Assert::Equal<BOOL>(FALSE, pVersion4->fHasMinor);
250 Assert::Equal<BOOL>(FALSE, pVersion4->fHasPatch);
251 Assert::Equal<BOOL>(FALSE, pVersion4->fHasRevision);
216 252
217 NativeAssert::StringEqual(wzVersion5, pVersion5->sczVersion); 253 NativeAssert::StringEqual(wzVersion5, pVersion5->sczVersion);
218 Assert::Equal<WCHAR>(L'\0', pVersion5->chPrefix); 254 Assert::Equal<WCHAR>(L'\0', pVersion5->chPrefix);
@@ -229,6 +265,10 @@ namespace DutilTests
229 265
230 Assert::Equal<DWORD>(4, pVersion5->cchMetadataOffset); 266 Assert::Equal<DWORD>(4, pVersion5->cchMetadataOffset);
231 Assert::Equal<BOOL>(FALSE, pVersion5->fInvalid); 267 Assert::Equal<BOOL>(FALSE, pVersion5->fInvalid);
268 Assert::Equal<BOOL>(TRUE, pVersion5->fHasMajor);
269 Assert::Equal<BOOL>(FALSE, pVersion5->fHasMinor);
270 Assert::Equal<BOOL>(FALSE, pVersion5->fHasPatch);
271 Assert::Equal<BOOL>(FALSE, pVersion5->fHasRevision);
232 272
233 NativeAssert::StringEqual(wzVersion6, pVersion6->sczVersion); 273 NativeAssert::StringEqual(wzVersion6, pVersion6->sczVersion);
234 Assert::Equal<WCHAR>(L'\0', pVersion6->chPrefix); 274 Assert::Equal<WCHAR>(L'\0', pVersion6->chPrefix);
@@ -245,6 +285,10 @@ namespace DutilTests
245 285
246 Assert::Equal<DWORD>(5, pVersion6->cchMetadataOffset); 286 Assert::Equal<DWORD>(5, pVersion6->cchMetadataOffset);
247 Assert::Equal<BOOL>(TRUE, pVersion6->fInvalid); 287 Assert::Equal<BOOL>(TRUE, pVersion6->fInvalid);
288 Assert::Equal<BOOL>(TRUE, pVersion6->fHasMajor);
289 Assert::Equal<BOOL>(FALSE, pVersion6->fHasMinor);
290 Assert::Equal<BOOL>(FALSE, pVersion6->fHasPatch);
291 Assert::Equal<BOOL>(FALSE, pVersion6->fHasRevision);
248 292
249 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1); 293 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1);
250 TestVerutilCompareParsedVersions(pVersion3, pVersion4, 1); 294 TestVerutilCompareParsedVersions(pVersion3, pVersion4, 1);
@@ -297,6 +341,10 @@ namespace DutilTests
297 341
298 Assert::Equal<DWORD>(7, pVersion1->cchMetadataOffset); 342 Assert::Equal<DWORD>(7, pVersion1->cchMetadataOffset);
299 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 343 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
344 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
345 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
346 Assert::Equal<BOOL>(TRUE, pVersion1->fHasPatch);
347 Assert::Equal<BOOL>(FALSE, pVersion1->fHasRevision);
300 348
301 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 349 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
302 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 350 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -313,6 +361,10 @@ namespace DutilTests
313 361
314 Assert::Equal<DWORD>(3, pVersion2->cchMetadataOffset); 362 Assert::Equal<DWORD>(3, pVersion2->cchMetadataOffset);
315 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid); 363 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid);
364 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
365 Assert::Equal<BOOL>(FALSE, pVersion2->fHasMinor);
366 Assert::Equal<BOOL>(FALSE, pVersion2->fHasPatch);
367 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
316 368
317 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion); 369 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion);
318 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix); 370 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix);
@@ -329,6 +381,10 @@ namespace DutilTests
329 381
330 Assert::Equal<DWORD>(3, pVersion3->cchMetadataOffset); 382 Assert::Equal<DWORD>(3, pVersion3->cchMetadataOffset);
331 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid); 383 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid);
384 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMajor);
385 Assert::Equal<BOOL>(FALSE, pVersion3->fHasMinor);
386 Assert::Equal<BOOL>(FALSE, pVersion3->fHasPatch);
387 Assert::Equal<BOOL>(FALSE, pVersion3->fHasRevision);
332 388
333 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1); 389 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1);
334 TestVerutilCompareParsedVersions(pVersion1, pVersion3, -1); 390 TestVerutilCompareParsedVersions(pVersion1, pVersion3, -1);
@@ -387,6 +443,10 @@ namespace DutilTests
387 443
388 Assert::Equal<DWORD>(8, pVersion1->cchMetadataOffset); 444 Assert::Equal<DWORD>(8, pVersion1->cchMetadataOffset);
389 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 445 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
446 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
447 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
448 Assert::Equal<BOOL>(FALSE, pVersion1->fHasPatch);
449 Assert::Equal<BOOL>(FALSE, pVersion1->fHasRevision);
390 450
391 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 451 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
392 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 452 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -407,6 +467,10 @@ namespace DutilTests
407 467
408 Assert::Equal<DWORD>(9, pVersion2->cchMetadataOffset); 468 Assert::Equal<DWORD>(9, pVersion2->cchMetadataOffset);
409 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid); 469 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid);
470 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
471 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMinor);
472 Assert::Equal<BOOL>(TRUE, pVersion2->fHasPatch);
473 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
410 474
411 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion); 475 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion);
412 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix); 476 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix);
@@ -431,6 +495,10 @@ namespace DutilTests
431 495
432 Assert::Equal<DWORD>(9, pVersion3->cchMetadataOffset); 496 Assert::Equal<DWORD>(9, pVersion3->cchMetadataOffset);
433 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid); 497 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid);
498 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMajor);
499 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMinor);
500 Assert::Equal<BOOL>(FALSE, pVersion3->fHasPatch);
501 Assert::Equal<BOOL>(FALSE, pVersion3->fHasRevision);
434 502
435 NativeAssert::StringEqual(wzVersion4, pVersion4->sczVersion); 503 NativeAssert::StringEqual(wzVersion4, pVersion4->sczVersion);
436 Assert::Equal<WCHAR>(L'\0', pVersion4->chPrefix); 504 Assert::Equal<WCHAR>(L'\0', pVersion4->chPrefix);
@@ -455,6 +523,10 @@ namespace DutilTests
455 523
456 Assert::Equal<DWORD>(13, pVersion4->cchMetadataOffset); 524 Assert::Equal<DWORD>(13, pVersion4->cchMetadataOffset);
457 Assert::Equal<BOOL>(FALSE, pVersion4->fInvalid); 525 Assert::Equal<BOOL>(FALSE, pVersion4->fInvalid);
526 Assert::Equal<BOOL>(TRUE, pVersion4->fHasMajor);
527 Assert::Equal<BOOL>(TRUE, pVersion4->fHasMinor);
528 Assert::Equal<BOOL>(TRUE, pVersion4->fHasPatch);
529 Assert::Equal<BOOL>(FALSE, pVersion4->fHasRevision);
458 530
459 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 0); 531 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 0);
460 TestVerutilCompareParsedVersions(pVersion3, pVersion4, 0); 532 TestVerutilCompareParsedVersions(pVersion3, pVersion4, 0);
@@ -499,6 +571,10 @@ namespace DutilTests
499 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels); 571 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels);
500 Assert::Equal<DWORD>(6, pVersion1->cchMetadataOffset); 572 Assert::Equal<DWORD>(6, pVersion1->cchMetadataOffset);
501 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 573 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
574 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
575 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
576 Assert::Equal<BOOL>(TRUE, pVersion1->fHasPatch);
577 Assert::Equal<BOOL>(FALSE, pVersion1->fHasRevision);
502 578
503 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 579 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
504 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 580 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -509,6 +585,10 @@ namespace DutilTests
509 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels); 585 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels);
510 Assert::Equal<DWORD>(6, pVersion2->cchMetadataOffset); 586 Assert::Equal<DWORD>(6, pVersion2->cchMetadataOffset);
511 Assert::Equal<BOOL>(TRUE, pVersion2->fInvalid); 587 Assert::Equal<BOOL>(TRUE, pVersion2->fInvalid);
588 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
589 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMinor);
590 Assert::Equal<BOOL>(TRUE, pVersion2->fHasPatch);
591 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
512 592
513 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion); 593 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion);
514 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix); 594 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix);
@@ -519,6 +599,10 @@ namespace DutilTests
519 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels); 599 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels);
520 Assert::Equal<DWORD>(6, pVersion3->cchMetadataOffset); 600 Assert::Equal<DWORD>(6, pVersion3->cchMetadataOffset);
521 Assert::Equal<BOOL>(TRUE, pVersion3->fInvalid); 601 Assert::Equal<BOOL>(TRUE, pVersion3->fInvalid);
602 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMajor);
603 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMinor);
604 Assert::Equal<BOOL>(TRUE, pVersion3->fHasPatch);
605 Assert::Equal<BOOL>(FALSE, pVersion3->fHasRevision);
522 606
523 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1); 607 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1);
524 TestVerutilCompareParsedVersions(pVersion1, pVersion3, 1); 608 TestVerutilCompareParsedVersions(pVersion1, pVersion3, 1);
@@ -573,6 +657,10 @@ namespace DutilTests
573 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels); 657 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels);
574 Assert::Equal<DWORD>(11, pVersion1->cchMetadataOffset); 658 Assert::Equal<DWORD>(11, pVersion1->cchMetadataOffset);
575 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 659 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
660 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
661 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
662 Assert::Equal<BOOL>(TRUE, pVersion1->fHasPatch);
663 Assert::Equal<BOOL>(TRUE, pVersion1->fHasRevision);
576 664
577 NativeAssert::StringEqual(wzVersion1, pVersion2->sczVersion); 665 NativeAssert::StringEqual(wzVersion1, pVersion2->sczVersion);
578 Assert::Equal<WCHAR>(L'v', pVersion2->chPrefix); 666 Assert::Equal<WCHAR>(L'v', pVersion2->chPrefix);
@@ -583,6 +671,10 @@ namespace DutilTests
583 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels); 671 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels);
584 Assert::Equal<DWORD>(11, pVersion2->cchMetadataOffset); 672 Assert::Equal<DWORD>(11, pVersion2->cchMetadataOffset);
585 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid); 673 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid);
674 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
675 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMinor);
676 Assert::Equal<BOOL>(TRUE, pVersion2->fHasPatch);
677 Assert::Equal<BOOL>(TRUE, pVersion2->fHasRevision);
586 678
587 NativeAssert::StringEqual(wzVersion1, pVersion3->sczVersion); 679 NativeAssert::StringEqual(wzVersion1, pVersion3->sczVersion);
588 Assert::Equal<WCHAR>(L'V', pVersion3->chPrefix); 680 Assert::Equal<WCHAR>(L'V', pVersion3->chPrefix);
@@ -593,6 +685,10 @@ namespace DutilTests
593 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels); 685 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels);
594 Assert::Equal<DWORD>(11, pVersion3->cchMetadataOffset); 686 Assert::Equal<DWORD>(11, pVersion3->cchMetadataOffset);
595 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid); 687 Assert::Equal<BOOL>(FALSE, pVersion3->fInvalid);
688 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMajor);
689 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMinor);
690 Assert::Equal<BOOL>(TRUE, pVersion3->fHasPatch);
691 Assert::Equal<BOOL>(TRUE, pVersion3->fHasRevision);
596 692
597 NativeAssert::StringEqual(L"10.20.30.40-abc", pVersion4->sczVersion); 693 NativeAssert::StringEqual(L"10.20.30.40-abc", pVersion4->sczVersion);
598 Assert::Equal<WCHAR>(L'v', pVersion4->chPrefix); 694 Assert::Equal<WCHAR>(L'v', pVersion4->chPrefix);
@@ -608,6 +704,10 @@ namespace DutilTests
608 704
609 Assert::Equal<DWORD>(15, pVersion4->cchMetadataOffset); 705 Assert::Equal<DWORD>(15, pVersion4->cchMetadataOffset);
610 Assert::Equal<BOOL>(FALSE, pVersion4->fInvalid); 706 Assert::Equal<BOOL>(FALSE, pVersion4->fInvalid);
707 Assert::Equal<BOOL>(TRUE, pVersion4->fHasMajor);
708 Assert::Equal<BOOL>(TRUE, pVersion4->fHasMinor);
709 Assert::Equal<BOOL>(TRUE, pVersion4->fHasPatch);
710 Assert::Equal<BOOL>(TRUE, pVersion4->fHasRevision);
611 711
612 NativeAssert::StringEqual(wzVersion5, pVersion5->sczVersion); 712 NativeAssert::StringEqual(wzVersion5, pVersion5->sczVersion);
613 Assert::Equal<WCHAR>(L'\0', pVersion5->chPrefix); 713 Assert::Equal<WCHAR>(L'\0', pVersion5->chPrefix);
@@ -618,6 +718,10 @@ namespace DutilTests
618 Assert::Equal<DWORD>(0, pVersion5->cReleaseLabels); 718 Assert::Equal<DWORD>(0, pVersion5->cReleaseLabels);
619 Assert::Equal<DWORD>(0, pVersion5->cchMetadataOffset); 719 Assert::Equal<DWORD>(0, pVersion5->cchMetadataOffset);
620 Assert::Equal<BOOL>(TRUE, pVersion5->fInvalid); 720 Assert::Equal<BOOL>(TRUE, pVersion5->fInvalid);
721 Assert::Equal<BOOL>(FALSE, pVersion5->fHasMajor);
722 Assert::Equal<BOOL>(FALSE, pVersion5->fHasMinor);
723 Assert::Equal<BOOL>(FALSE, pVersion5->fHasPatch);
724 Assert::Equal<BOOL>(FALSE, pVersion5->fHasRevision);
621 725
622 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 0); 726 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 0);
623 TestVerutilCompareParsedVersions(pVersion1, pVersion3, 0); 727 TestVerutilCompareParsedVersions(pVersion1, pVersion3, 0);
@@ -659,6 +763,10 @@ namespace DutilTests
659 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels); 763 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels);
660 Assert::Equal<DWORD>(43, pVersion1->cchMetadataOffset); 764 Assert::Equal<DWORD>(43, pVersion1->cchMetadataOffset);
661 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 765 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
766 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
767 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
768 Assert::Equal<BOOL>(TRUE, pVersion1->fHasPatch);
769 Assert::Equal<BOOL>(TRUE, pVersion1->fHasRevision);
662 770
663 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 771 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
664 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 772 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -669,6 +777,10 @@ namespace DutilTests
669 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels); 777 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels);
670 Assert::Equal<DWORD>(0, pVersion2->cchMetadataOffset); 778 Assert::Equal<DWORD>(0, pVersion2->cchMetadataOffset);
671 Assert::Equal<BOOL>(TRUE, pVersion2->fInvalid); 779 Assert::Equal<BOOL>(TRUE, pVersion2->fInvalid);
780 Assert::Equal<BOOL>(FALSE, pVersion2->fHasMajor);
781 Assert::Equal<BOOL>(FALSE, pVersion2->fHasMinor);
782 Assert::Equal<BOOL>(FALSE, pVersion2->fHasPatch);
783 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
672 784
673 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1); 785 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 1);
674 } 786 }
@@ -705,6 +817,10 @@ namespace DutilTests
705 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels); 817 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels);
706 Assert::Equal<DWORD>(6, pVersion1->cchMetadataOffset); 818 Assert::Equal<DWORD>(6, pVersion1->cchMetadataOffset);
707 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 819 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
820 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
821 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
822 Assert::Equal<BOOL>(TRUE, pVersion1->fHasPatch);
823 Assert::Equal<BOOL>(FALSE, pVersion1->fHasRevision);
708 824
709 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 825 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
710 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 826 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -715,6 +831,10 @@ namespace DutilTests
715 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels); 831 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels);
716 Assert::Equal<DWORD>(6, pVersion2->cchMetadataOffset); 832 Assert::Equal<DWORD>(6, pVersion2->cchMetadataOffset);
717 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid); 833 Assert::Equal<BOOL>(FALSE, pVersion2->fInvalid);
834 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
835 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMinor);
836 Assert::Equal<BOOL>(TRUE, pVersion2->fHasPatch);
837 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
718 838
719 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 0); 839 TestVerutilCompareParsedVersions(pVersion1, pVersion2, 0);
720 } 840 }
@@ -749,6 +869,10 @@ namespace DutilTests
749 869
750 Assert::Equal<DWORD>(8, pSource->cchMetadataOffset); 870 Assert::Equal<DWORD>(8, pSource->cchMetadataOffset);
751 Assert::Equal<BOOL>(FALSE, pSource->fInvalid); 871 Assert::Equal<BOOL>(FALSE, pSource->fInvalid);
872 Assert::Equal<BOOL>(TRUE, pSource->fHasMajor);
873 Assert::Equal<BOOL>(TRUE, pSource->fHasMinor);
874 Assert::Equal<BOOL>(TRUE, pSource->fHasPatch);
875 Assert::Equal<BOOL>(TRUE, pSource->fHasRevision);
752 876
753 hr = VerCopyVersion(pSource, &pCopy); 877 hr = VerCopyVersion(pSource, &pCopy);
754 NativeAssert::Succeeded(hr, "VerCopyVersion failed"); 878 NativeAssert::Succeeded(hr, "VerCopyVersion failed");
@@ -756,6 +880,10 @@ namespace DutilTests
756 Assert::False(pSource == pCopy); 880 Assert::False(pSource == pCopy);
757 Assert::False(pSource->sczVersion == pCopy->sczVersion); 881 Assert::False(pSource->sczVersion == pCopy->sczVersion);
758 Assert::Equal<WCHAR>(L'\0', pCopy->chPrefix); 882 Assert::Equal<WCHAR>(L'\0', pCopy->chPrefix);
883 Assert::Equal<BOOL>(TRUE, pCopy->fHasMajor);
884 Assert::Equal<BOOL>(TRUE, pCopy->fHasMinor);
885 Assert::Equal<BOOL>(TRUE, pCopy->fHasPatch);
886 Assert::Equal<BOOL>(TRUE, pCopy->fHasRevision);
759 887
760 hr = VerCompareParsedVersions(pSource, pCopy, &nResult); 888 hr = VerCompareParsedVersions(pSource, pCopy, &nResult);
761 NativeAssert::Succeeded(hr, "VerCompareParsedVersions failed"); 889 NativeAssert::Succeeded(hr, "VerCompareParsedVersions failed");
@@ -814,6 +942,10 @@ namespace DutilTests
814 942
815 Assert::Equal<DWORD>(18, pSource->cchMetadataOffset); 943 Assert::Equal<DWORD>(18, pSource->cchMetadataOffset);
816 Assert::Equal<BOOL>(TRUE, pSource->fInvalid); 944 Assert::Equal<BOOL>(TRUE, pSource->fInvalid);
945 Assert::Equal<BOOL>(TRUE, pSource->fHasMajor);
946 Assert::Equal<BOOL>(TRUE, pSource->fHasMinor);
947 Assert::Equal<BOOL>(TRUE, pSource->fHasPatch);
948 Assert::Equal<BOOL>(TRUE, pSource->fHasRevision);
817 949
818 hr = VerCopyVersion(pSource, &pCopy); 950 hr = VerCopyVersion(pSource, &pCopy);
819 NativeAssert::Succeeded(hr, "VerCopyVersion failed"); 951 NativeAssert::Succeeded(hr, "VerCopyVersion failed");
@@ -822,6 +954,10 @@ namespace DutilTests
822 Assert::False(pSource->sczVersion == pCopy->sczVersion); 954 Assert::False(pSource->sczVersion == pCopy->sczVersion);
823 Assert::False(pSource->rgReleaseLabels == pCopy->rgReleaseLabels); 955 Assert::False(pSource->rgReleaseLabels == pCopy->rgReleaseLabels);
824 Assert::Equal<WCHAR>(L'v', pCopy->chPrefix); 956 Assert::Equal<WCHAR>(L'v', pCopy->chPrefix);
957 Assert::Equal<BOOL>(TRUE, pCopy->fHasMajor);
958 Assert::Equal<BOOL>(TRUE, pCopy->fHasMinor);
959 Assert::Equal<BOOL>(TRUE, pCopy->fHasPatch);
960 Assert::Equal<BOOL>(TRUE, pCopy->fHasRevision);
825 961
826 hr = VerCompareParsedVersions(pSource, pCopy, &nResult); 962 hr = VerCompareParsedVersions(pSource, pCopy, &nResult);
827 NativeAssert::Succeeded(hr, "VerCompareParsedVersions failed"); 963 NativeAssert::Succeeded(hr, "VerCompareParsedVersions failed");
@@ -886,6 +1022,10 @@ namespace DutilTests
886 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels); 1022 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels);
887 Assert::Equal<DWORD>(0, pVersion1->cchMetadataOffset); 1023 Assert::Equal<DWORD>(0, pVersion1->cchMetadataOffset);
888 Assert::Equal<BOOL>(TRUE, pVersion1->fInvalid); 1024 Assert::Equal<BOOL>(TRUE, pVersion1->fInvalid);
1025 Assert::Equal<BOOL>(FALSE, pVersion1->fHasMajor);
1026 Assert::Equal<BOOL>(FALSE, pVersion1->fHasMinor);
1027 Assert::Equal<BOOL>(FALSE, pVersion1->fHasPatch);
1028 Assert::Equal<BOOL>(FALSE, pVersion1->fHasRevision);
889 1029
890 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion); 1030 NativeAssert::StringEqual(wzVersion2, pVersion2->sczVersion);
891 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix); 1031 Assert::Equal<WCHAR>(L'\0', pVersion2->chPrefix);
@@ -896,6 +1036,10 @@ namespace DutilTests
896 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels); 1036 Assert::Equal<DWORD>(0, pVersion2->cReleaseLabels);
897 Assert::Equal<DWORD>(2, pVersion2->cchMetadataOffset); 1037 Assert::Equal<DWORD>(2, pVersion2->cchMetadataOffset);
898 Assert::Equal<BOOL>(TRUE, pVersion2->fInvalid); 1038 Assert::Equal<BOOL>(TRUE, pVersion2->fInvalid);
1039 Assert::Equal<BOOL>(TRUE, pVersion2->fHasMajor);
1040 Assert::Equal<BOOL>(FALSE, pVersion2->fHasMinor);
1041 Assert::Equal<BOOL>(FALSE, pVersion2->fHasPatch);
1042 Assert::Equal<BOOL>(FALSE, pVersion2->fHasRevision);
899 1043
900 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion); 1044 NativeAssert::StringEqual(wzVersion3, pVersion3->sczVersion);
901 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix); 1045 Assert::Equal<WCHAR>(L'\0', pVersion3->chPrefix);
@@ -906,6 +1050,10 @@ namespace DutilTests
906 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels); 1050 Assert::Equal<DWORD>(0, pVersion3->cReleaseLabels);
907 Assert::Equal<DWORD>(4, pVersion3->cchMetadataOffset); 1051 Assert::Equal<DWORD>(4, pVersion3->cchMetadataOffset);
908 Assert::Equal<BOOL>(TRUE, pVersion3->fInvalid); 1052 Assert::Equal<BOOL>(TRUE, pVersion3->fInvalid);
1053 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMajor);
1054 Assert::Equal<BOOL>(TRUE, pVersion3->fHasMinor);
1055 Assert::Equal<BOOL>(FALSE, pVersion3->fHasPatch);
1056 Assert::Equal<BOOL>(FALSE, pVersion3->fHasRevision);
909 1057
910 NativeAssert::StringEqual(wzVersion4, pVersion4->sczVersion); 1058 NativeAssert::StringEqual(wzVersion4, pVersion4->sczVersion);
911 Assert::Equal<WCHAR>(L'\0', pVersion4->chPrefix); 1059 Assert::Equal<WCHAR>(L'\0', pVersion4->chPrefix);
@@ -916,6 +1064,10 @@ namespace DutilTests
916 Assert::Equal<DWORD>(0, pVersion4->cReleaseLabels); 1064 Assert::Equal<DWORD>(0, pVersion4->cReleaseLabels);
917 Assert::Equal<DWORD>(6, pVersion4->cchMetadataOffset); 1065 Assert::Equal<DWORD>(6, pVersion4->cchMetadataOffset);
918 Assert::Equal<BOOL>(TRUE, pVersion4->fInvalid); 1066 Assert::Equal<BOOL>(TRUE, pVersion4->fInvalid);
1067 Assert::Equal<BOOL>(TRUE, pVersion4->fHasMajor);
1068 Assert::Equal<BOOL>(TRUE, pVersion4->fHasMinor);
1069 Assert::Equal<BOOL>(TRUE, pVersion4->fHasPatch);
1070 Assert::Equal<BOOL>(FALSE, pVersion4->fHasRevision);
919 1071
920 NativeAssert::StringEqual(wzVersion5, pVersion5->sczVersion); 1072 NativeAssert::StringEqual(wzVersion5, pVersion5->sczVersion);
921 Assert::Equal<WCHAR>(L'\0', pVersion5->chPrefix); 1073 Assert::Equal<WCHAR>(L'\0', pVersion5->chPrefix);
@@ -926,6 +1078,10 @@ namespace DutilTests
926 Assert::Equal<DWORD>(0, pVersion5->cReleaseLabels); 1078 Assert::Equal<DWORD>(0, pVersion5->cReleaseLabels);
927 Assert::Equal<DWORD>(8, pVersion5->cchMetadataOffset); 1079 Assert::Equal<DWORD>(8, pVersion5->cchMetadataOffset);
928 Assert::Equal<BOOL>(TRUE, pVersion5->fInvalid); 1080 Assert::Equal<BOOL>(TRUE, pVersion5->fInvalid);
1081 Assert::Equal<BOOL>(TRUE, pVersion5->fHasMajor);
1082 Assert::Equal<BOOL>(TRUE, pVersion5->fHasMinor);
1083 Assert::Equal<BOOL>(TRUE, pVersion5->fHasPatch);
1084 Assert::Equal<BOOL>(TRUE, pVersion5->fHasRevision);
929 1085
930 NativeAssert::StringEqual(wzVersion6, pVersion6->sczVersion); 1086 NativeAssert::StringEqual(wzVersion6, pVersion6->sczVersion);
931 Assert::Equal<WCHAR>(L'\0', pVersion6->chPrefix); 1087 Assert::Equal<WCHAR>(L'\0', pVersion6->chPrefix);
@@ -936,6 +1092,10 @@ namespace DutilTests
936 Assert::Equal<DWORD>(0, pVersion6->cReleaseLabels); 1092 Assert::Equal<DWORD>(0, pVersion6->cReleaseLabels);
937 Assert::Equal<DWORD>(2, pVersion6->cchMetadataOffset); 1093 Assert::Equal<DWORD>(2, pVersion6->cchMetadataOffset);
938 Assert::Equal<BOOL>(TRUE, pVersion6->fInvalid); 1094 Assert::Equal<BOOL>(TRUE, pVersion6->fInvalid);
1095 Assert::Equal<BOOL>(TRUE, pVersion6->fHasMajor);
1096 Assert::Equal<BOOL>(FALSE, pVersion6->fHasMinor);
1097 Assert::Equal<BOOL>(FALSE, pVersion6->fHasPatch);
1098 Assert::Equal<BOOL>(FALSE, pVersion6->fHasRevision);
939 1099
940 NativeAssert::StringEqual(wzVersion7, pVersion7->sczVersion); 1100 NativeAssert::StringEqual(wzVersion7, pVersion7->sczVersion);
941 Assert::Equal<WCHAR>(L'\0', pVersion7->chPrefix); 1101 Assert::Equal<WCHAR>(L'\0', pVersion7->chPrefix);
@@ -951,6 +1111,10 @@ namespace DutilTests
951 1111
952 Assert::Equal<DWORD>(4, pVersion7->cchMetadataOffset); 1112 Assert::Equal<DWORD>(4, pVersion7->cchMetadataOffset);
953 Assert::Equal<BOOL>(TRUE, pVersion7->fInvalid); 1113 Assert::Equal<BOOL>(TRUE, pVersion7->fInvalid);
1114 Assert::Equal<BOOL>(TRUE, pVersion7->fHasMajor);
1115 Assert::Equal<BOOL>(FALSE, pVersion7->fHasMinor);
1116 Assert::Equal<BOOL>(FALSE, pVersion7->fHasPatch);
1117 Assert::Equal<BOOL>(FALSE, pVersion7->fHasRevision);
954 } 1118 }
955 finally 1119 finally
956 { 1120 {
@@ -984,6 +1148,10 @@ namespace DutilTests
984 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels); 1148 Assert::Equal<DWORD>(0, pVersion1->cReleaseLabels);
985 Assert::Equal<DWORD>(7, pVersion1->cchMetadataOffset); 1149 Assert::Equal<DWORD>(7, pVersion1->cchMetadataOffset);
986 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid); 1150 Assert::Equal<BOOL>(FALSE, pVersion1->fInvalid);
1151 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMajor);
1152 Assert::Equal<BOOL>(TRUE, pVersion1->fHasMinor);
1153 Assert::Equal<BOOL>(TRUE, pVersion1->fHasPatch);
1154 Assert::Equal<BOOL>(TRUE, pVersion1->fHasRevision);
987 } 1155 }
988 finally 1156 finally
989 { 1157 {