Exposes SkipPrefix s.t. it can be used by gmock (by Vlad Losev).

This commit is contained in:
zhanyong.wan 2009-12-01 19:39:52 +00:00
parent 2e075a7f60
commit 891b3716c4
2 changed files with 17 additions and 12 deletions

View File

@ -604,6 +604,11 @@ TestInfo* MakeAndRegisterTestInfo(
TearDownTestCaseFunc tear_down_tc,
TestFactoryBase* factory);
// If *pstr starts with the given prefix, modifies *pstr to be right
// past the prefix and returns true; otherwise leaves *pstr unchanged
// and returns false. None of pstr, *pstr, and prefix can be NULL.
bool SkipPrefix(const char* prefix, const char** pstr);
#if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
// State of the definition of a type-parameterized test case.

View File

@ -4355,6 +4355,18 @@ bool AlwaysTrue() {
return true;
}
// If *pstr starts with the given prefix, modifies *pstr to be right
// past the prefix and returns true; otherwise leaves *pstr unchanged
// and returns false. None of pstr, *pstr, and prefix can be NULL.
bool SkipPrefix(const char* prefix, const char** pstr) {
const size_t prefix_len = strlen(prefix);
if (strncmp(*pstr, prefix, prefix_len) == 0) {
*pstr += prefix_len;
return true;
}
return false;
}
// Parses a string as a command line flag. The string should have
// the format "--flag=value". When def_optional is true, the "=value"
// part can be omitted.
@ -4444,18 +4456,6 @@ bool ParseStringFlag(const char* str, const char* flag, String* value) {
return true;
}
// Determines whether a string pointed by *str has the prefix parameter as
// its prefix and advances it to point past the prefix if it does.
static bool SkipPrefix(const char* prefix, const char** str) {
const size_t prefix_len = strlen(prefix);
if (strncmp(*str, prefix, prefix_len) != 0)
return false;
*str += prefix_len;
return true;
}
// Determines whether a string has a prefix that Google Test uses for its
// flags, i.e., starts with GTEST_FLAG_PREFIX_ or GTEST_FLAG_PREFIX_DASH_.
// If Google Test detects that a command line flag has its prefix but is not