diff options
author | zhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386> | 2010-12-02 23:30:50 +0000 |
---|---|---|
committer | zhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386> | 2010-12-02 23:30:50 +0000 |
commit | a684b5a5269e3f9c53ef842bf9b9658370418a0c (patch) | |
tree | 342974398cc8c2d734ea51676db283c40182737c /test/gmock-actions_test.cc | |
parent | 88032d8e0f6d4bc63b97aeeab84fdc44aeab1c89 (diff) | |
download | googletest-a684b5a5269e3f9c53ef842bf9b9658370418a0c.tar.gz googletest-a684b5a5269e3f9c53ef842bf9b9658370418a0c.tar.bz2 googletest-a684b5a5269e3f9c53ef842bf9b9658370418a0c.zip |
Enables SetArgPointee<>() to accept a string literal; removes a self-assignment warning; teaches gmock doctor to diagnose TTB with Clang; picks up gtest r525.
Diffstat (limited to 'test/gmock-actions_test.cc')
-rw-r--r-- | test/gmock-actions_test.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/gmock-actions_test.cc b/test/gmock-actions_test.cc index 7200fa1a..e12402b9 100644 --- a/test/gmock-actions_test.cc +++ b/test/gmock-actions_test.cc @@ -715,6 +715,43 @@ TEST(SetArgPointeeTest, SetsTheNthPointee) { EXPECT_EQ('a', ch); } +// Tests that SetArgPointee<N>() accepts a string literal. +TEST(SetArgPointeeTest, AcceptsStringLiteral) { + typedef void MyFunction(bool, std::string*, const char**); + Action<MyFunction> a = SetArgPointee<1>("hi"); + std::string str; + const char* ptr = NULL; + a.Perform(make_tuple(true, &str, &ptr)); + EXPECT_EQ("hi", str); + EXPECT_TRUE(ptr == NULL); + + a = SetArgPointee<2>("world"); + str = ""; + a.Perform(make_tuple(true, &str, &ptr)); + EXPECT_EQ("", str); + EXPECT_STREQ("world", ptr); +} + +// Tests that SetArgPointee<N>() accepts a char pointer. +TEST(SetArgPointeeTest, AcceptsCharPointer) { + typedef void MyFunction(bool, std::string*, const char**); + const char* const hi = "hi"; + Action<MyFunction> a = SetArgPointee<1>(hi); + std::string str; + const char* ptr = NULL; + a.Perform(make_tuple(true, &str, &ptr)); + EXPECT_EQ("hi", str); + EXPECT_TRUE(ptr == NULL); + + char world_array[] = "world"; + char* const world = world_array; + a = SetArgPointee<2>(world); + str = ""; + a.Perform(make_tuple(true, &str, &ptr)); + EXPECT_EQ("", str); + EXPECT_EQ(world, ptr); +} + #if GTEST_HAS_PROTOBUF_ // Tests that SetArgPointee<N>(proto_buffer) sets the v1 protobuf |