| Index: base/version_unittest.cc
|
| ===================================================================
|
| --- base/version_unittest.cc (revision 145458)
|
| +++ base/version_unittest.cc (working copy)
|
| @@ -89,3 +89,53 @@
|
| EXPECT_EQ(lhs->IsOlderThan(cases[i].rhs), (cases[i].expected == -1));
|
| }
|
| }
|
| +
|
| +TEST_F(VersionTest, CompareToWildcardString) {
|
| + static const struct version_compare {
|
| + const char* lhs;
|
| + const char* rhs;
|
| + int expected;
|
| + } cases[] = {
|
| + {"1.0", "1.*", 0},
|
| + {"1.0", "0.*", 1},
|
| + {"1.0", "2.*", -1},
|
| + {"1.2.3", "1.2.3.*", 0},
|
| + {"10.0", "1.0.*", 1},
|
| + {"1.0", "3.0.*", -1},
|
| + {"1.4", "1.3.0.*", 1},
|
| + {"1.3.9", "1.3.*", 0},
|
| + {"1.4.1", "1.3.*", 1},
|
| + {"1.3", "1.4.5.*", -1},
|
| + {"1.5", "1.4.5.*", 1},
|
| + {"1.3.9", "1.3.*", 0},
|
| + {"1.2.0.0.0.0", "1.2.*", 0},
|
| + };
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
|
| + const Version version(cases[i].lhs);
|
| + const int result = version.CompareToWildcardString(cases[i].rhs);
|
| + EXPECT_EQ(result, cases[i].expected) << cases[i].lhs << "?" << cases[i].rhs;
|
| + }
|
| +}
|
| +
|
| +TEST_F(VersionTest, IsValidWildcardString) {
|
| + static const struct version_compare {
|
| + const char* version;
|
| + bool expected;
|
| + } cases[] = {
|
| + {"1.0", true},
|
| + {"", false},
|
| + {"1.2.3.4.5.6", true},
|
| + {"1.2.3.*", true},
|
| + {"1.2.3.5*", false},
|
| + {"1.2.3.56*", false},
|
| + {"1.*.3", false},
|
| + {"20.*", true},
|
| + {"+2.*", false},
|
| + {"*", false},
|
| + {"*.2", false},
|
| + };
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
|
| + EXPECT_EQ(Version::IsValidWildcardString(cases[i].version),
|
| + cases[i].expected) << cases[i].version << "?" << cases[i].expected;
|
| + }
|
| +}
|
|
|