Chromium Code Reviews| Index: base/version_unittest.cc |
| =================================================================== |
| --- base/version_unittest.cc (revision 143914) |
| +++ base/version_unittest.cc (working copy) |
| @@ -89,3 +89,47 @@ |
| 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}, |
|
Alexei Svitkine (slow)
2012/06/26 18:22:03
Can you also add these testcases:
1.3.9 to 1.3.*
Mathieu
2012/06/27 15:40:06
Done.
|
| + }; |
| + 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; |
| + } |
| +} |