Merge "bootable/recovery wants EqualsIgnoreCase."

This commit is contained in:
Elliott Hughes 2017-01-14 18:22:31 +00:00 committed by Gerrit Code Review
commit 89e99f9e0e
3 changed files with 14 additions and 0 deletions

View file

@ -64,6 +64,9 @@ bool StartsWithIgnoreCase(const std::string& s, const char* prefix);
bool EndsWith(const std::string& s, const char* suffix);
bool EndsWithIgnoreCase(const std::string& s, const char* suffix);
// Tests whether 'lhs' equals 'rhs', ignoring case.
bool EqualsIgnoreCase(const std::string& lhs, const std::string& rhs);
} // namespace base
} // namespace android

View file

@ -112,5 +112,9 @@ bool EndsWithIgnoreCase(const std::string& s, const char* suffix) {
return EndsWith(s, suffix, false);
}
bool EqualsIgnoreCase(const std::string& lhs, const std::string& rhs) {
return strcasecmp(lhs.c_str(), rhs.c_str()) == 0;
}
} // namespace base
} // namespace android

View file

@ -244,3 +244,10 @@ TEST(strings, EndsWithIgnoreCase_contains_prefix) {
ASSERT_FALSE(android::base::EndsWithIgnoreCase("foobar", "OBA"));
ASSERT_FALSE(android::base::EndsWithIgnoreCase("foobar", "FOO"));
}
TEST(strings, EqualsIgnoreCase) {
ASSERT_TRUE(android::base::EqualsIgnoreCase("foo", "FOO"));
ASSERT_TRUE(android::base::EqualsIgnoreCase("FOO", "foo"));
ASSERT_FALSE(android::base::EqualsIgnoreCase("foo", "bar"));
ASSERT_FALSE(android::base::EqualsIgnoreCase("foo", "fool"));
}