diff options
author | zhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925> | 2010-06-08 22:51:46 +0000 |
---|---|---|
committer | zhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925> | 2010-06-08 22:51:46 +0000 |
commit | 9748de060f19f81fd9dd7ccabf2be4bb624237b5 (patch) | |
tree | b65d692655b7d56b161c0f06711b4b0cf955765f | |
parent | e974309f2322ed19a0239e6247d806c156e00986 (diff) | |
download | gtest-9748de060f19f81fd9dd7ccabf2be4bb624237b5.tar.gz gtest-9748de060f19f81fd9dd7ccabf2be4bb624237b5.tar.bz2 gtest-9748de060f19f81fd9dd7ccabf2be4bb624237b5.tar.xz |
Adds tests for SkipPrefix().
git-svn-id: http://googletest.googlecode.com/svn/trunk@440 861a406c-534a-0410-8894-cb66d6ee9925
-rw-r--r-- | include/gtest/internal/gtest-internal.h | 2 | ||||
-rw-r--r-- | test/gtest_unittest.cc | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/include/gtest/internal/gtest-internal.h b/include/gtest/internal/gtest-internal.h index bf8412b..b57d059 100644 --- a/include/gtest/internal/gtest-internal.h +++ b/include/gtest/internal/gtest-internal.h @@ -607,7 +607,7 @@ GTEST_API_ TestInfo* MakeAndRegisterTestInfo( // 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); +GTEST_API_ bool SkipPrefix(const char* prefix, const char** pstr); #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P diff --git a/test/gtest_unittest.cc b/test/gtest_unittest.cc index 40049ae..a65ce92 100644 --- a/test/gtest_unittest.cc +++ b/test/gtest_unittest.cc @@ -178,6 +178,7 @@ using testing::internal::ShouldShard; using testing::internal::ShouldUseColor; using testing::internal::Shuffle; using testing::internal::ShuffleRange; +using testing::internal::SkipPrefix; using testing::internal::StreamableToString; using testing::internal::String; using testing::internal::TestEventListenersAccessor; @@ -7075,3 +7076,29 @@ TEST(NativeArrayTest, WorksForTwoDimensionalArray) { ASSERT_EQ(2U, na.size()); EXPECT_EQ(a, na.begin()); } + +// Tests SkipPrefix(). + +TEST(SkipPrefixTest, SkipsWhenPrefixMatches) { + const char* const str = "hello"; + + const char* p = str; + EXPECT_TRUE(SkipPrefix("", &p)); + EXPECT_EQ(str, p); + + p = str; + EXPECT_TRUE(SkipPrefix("hell", &p)); + EXPECT_EQ(str + 4, p); +} + +TEST(SkipPrefixTest, DoesNotSkipWhenPrefixDoesNotMatch) { + const char* const str = "world"; + + const char* p = str; + EXPECT_FALSE(SkipPrefix("W", &p)); + EXPECT_EQ(str, p); + + p = str; + EXPECT_FALSE(SkipPrefix("world!", &p)); + EXPECT_EQ(str, p); +} |