Chromium Code Reviews| Index: base/version_unittest.cc |
| =================================================================== |
| --- base/version_unittest.cc (revision 142948) |
| +++ base/version_unittest.cc (working copy) |
| @@ -89,3 +89,46 @@ |
| EXPECT_EQ(lhs->IsOlderThan(cases[i].rhs), (cases[i].expected == -1)); |
| } |
| } |
| + |
| +TEST_F(VersionTest, CompareToWildcard) { |
| + 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}, |
| + }; |
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { |
| + Version version(cases[i].lhs); |
| + int result = version.CompareToWildcard(cases[i].rhs); |
|
Alexei Svitkine (slow)
2012/06/19 18:30:27
Nit: Make version and result const.
Mathieu
2012/06/19 20:01:35
Done.
|
| + EXPECT_EQ(result, cases[i].expected) << cases[i].lhs << "?" << cases[i].rhs; |
| + } |
| +} |
| + |
| +TEST_F(VersionTest, IsValidWildcard) { |
| + 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::IsValidWildcard(cases[i].version), cases[i].expected) << |
| + cases[i].version << " failed -> " << cases[i].expected; |
|
Alexei Svitkine (slow)
2012/06/19 18:30:27
This should be indented 4 more than EXPECT_EQ().
Mathieu
2012/06/19 20:01:35
Done.
|
| + } |
| +} |