bootable/recovery wants EqualsIgnoreCase.

Bug: N/A
Test: ran tests
Change-Id: I4a6ee9eba0514b8bb8fb0489f4d370964ce9c1c2
This commit is contained in:
Elliott Hughes 2017-01-13 18:51:32 -08:00
parent 3052d123a8
commit 2140782d24
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"));
}