From 891b3716c4b6e4bd7fdbd642ecaab37776eb5935 Mon Sep 17 00:00:00 2001 From: "zhanyong.wan" Date: Tue, 1 Dec 2009 19:39:52 +0000 Subject: Exposes SkipPrefix s.t. it can be used by gmock (by Vlad Losev). --- include/gtest/internal/gtest-internal.h | 5 +++++ src/gtest.cc | 24 ++++++++++++------------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/include/gtest/internal/gtest-internal.h b/include/gtest/internal/gtest-internal.h index 08cf67d..43e5f97 100644 --- a/include/gtest/internal/gtest-internal.h +++ b/include/gtest/internal/gtest-internal.h @@ -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. diff --git a/src/gtest.cc b/src/gtest.cc index 5586154..aa50b25 100644 --- a/src/gtest.cc +++ b/src/gtest.cc @@ -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 -- cgit v0.12