# HG changeset patch # User Peter Hosey # Date 1255568703 25200 # Node ID 987556ed56e3ed64ef0e864d7368afa853769969 # Parent 5fa478e3475a67b521066a8ea2ab36cfb13c09e0 Test the parser's assignment of default development version numbers for various release types. GVU test coverage now 90.1%. I don't think this is right, though. Present Me says that the parser should reject these inputs, not accept them and make up the missing values. diff -r 5fa478e3475a -r 987556ed56e3 Unit tests/TestVersionParsing.h --- a/Unit tests/TestVersionParsing.h Wed Oct 14 17:55:37 2009 -0700 +++ b/Unit tests/TestVersionParsing.h Wed Oct 14 18:05:03 2009 -0700 @@ -35,4 +35,9 @@ - (void) testParseTwoComponentSVNVersionWithSmallLetterRBeforeRevisionNumber; - (void) testParseTwoComponentSVNVersionWithSpacesAroundReleaseTypeAndSmallLetterRBeforeRevisionNumber; +- (void) testParseSVNVersionWithNoRevisionNumber; +- (void) testParseDevelopmentVersionWithNoDevelopmentVersionNumber; +- (void) testParseAlphaVersionWithNoDevelopmentVersionNumber; +- (void) testParseBetaVersionWithNoDevelopmentVersionNumber; + @end diff -r 5fa478e3475a -r 987556ed56e3 Unit tests/TestVersionParsing.m --- a/Unit tests/TestVersionParsing.m Wed Oct 14 17:55:37 2009 -0700 +++ b/Unit tests/TestVersionParsing.m Wed Oct 14 18:05:03 2009 -0700 @@ -386,4 +386,105 @@ version.development, (u_int32_t)1400); } +- (void) testParseSVNVersionWithNoRevisionNumber { + struct Version version; + NSString *string = @"1.3svn"; + STAssertTrue(parseVersionString(string, &version), @"Parse of %@ failed", string); + STAssertEquals( + version.major, (u_int16_t)1, + @"Major component was %u, not %u", + version.major, (u_int16_t)1); + STAssertEquals( + version.minor, (u_int16_t)3, + @"Minor component was %u, not %u", + version.minor, (u_int16_t)3); + STAssertEquals( + version.incremental, (u_int8_t)0, + @"Incremental component was %u, not %u", + version.incremental, (u_int8_t)0); + STAssertEquals( + version.releaseType, (u_int8_t)releaseType_svn, + @"Release-type component was %u, not %u", + version.releaseType, (u_int8_t)releaseType_svn); + STAssertEquals( + version.development, (u_int32_t)0, + @"Development component (SVN revision) was %u, not %u", + version.development, (u_int32_t)0); +} +- (void) testParseDevelopmentVersionWithNoDevelopmentVersionNumber { + struct Version version; + NSString *string = @"1.3d"; + STAssertTrue(parseVersionString(string, &version), @"Parse of %@ failed", string); + STAssertEquals( + version.major, (u_int16_t)1, + @"Major component was %u, not %u", + version.major, (u_int16_t)1); + STAssertEquals( + version.minor, (u_int16_t)3, + @"Minor component was %u, not %u", + version.minor, (u_int16_t)3); + STAssertEquals( + version.incremental, (u_int8_t)0, + @"Incremental component was %u, not %u", + version.incremental, (u_int8_t)0); + STAssertEquals( + version.releaseType, (u_int8_t)releaseType_development, + @"Release-type component was %u, not %u", + version.releaseType, (u_int8_t)releaseType_development); + STAssertEquals( + version.development, (u_int32_t)1, + @"Development component (SVN revision) was %u, not %u", + version.development, (u_int32_t)1); +} +- (void) testParseAlphaVersionWithNoDevelopmentVersionNumber { + struct Version version; + NSString *string = @"1.3a"; + STAssertTrue(parseVersionString(string, &version), @"Parse of %@ failed", string); + STAssertEquals( + version.major, (u_int16_t)1, + @"Major component was %u, not %u", + version.major, (u_int16_t)1); + STAssertEquals( + version.minor, (u_int16_t)3, + @"Minor component was %u, not %u", + version.minor, (u_int16_t)3); + STAssertEquals( + version.incremental, (u_int8_t)0, + @"Incremental component was %u, not %u", + version.incremental, (u_int8_t)0); + STAssertEquals( + version.releaseType, (u_int8_t)releaseType_alpha, + @"Release-type component was %u, not %u", + version.releaseType, (u_int8_t)releaseType_alpha); + STAssertEquals( + version.development, (u_int32_t)1, + @"Development component (SVN revision) was %u, not %u", + version.development, (u_int32_t)1); +} +- (void) testParseBetaVersionWithNoDevelopmentVersionNumber { + struct Version version; + NSString *string = @"1.3b"; + STAssertTrue(parseVersionString(string, &version), @"Parse of %@ failed", string); + STAssertEquals( + version.major, (u_int16_t)1, + @"Major component was %u, not %u", + version.major, (u_int16_t)1); + STAssertEquals( + version.minor, (u_int16_t)3, + @"Minor component was %u, not %u", + version.minor, (u_int16_t)3); + STAssertEquals( + version.incremental, (u_int8_t)0, + @"Incremental component was %u, not %u", + version.incremental, (u_int8_t)0); + STAssertEquals( + version.releaseType, (u_int8_t)releaseType_beta, + @"Release-type component was %u, not %u", + version.releaseType, (u_int8_t)releaseType_beta); + STAssertEquals( + version.development, (u_int32_t)1, + @"Development component (SVN revision) was %u, not %u", + version.development, (u_int32_t)1); +} + @end