aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gmock-actions_test.cc37
-rw-r--r--test/gmock_test.cc2
2 files changed, 38 insertions, 1 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
diff --git a/test/gmock_test.cc b/test/gmock_test.cc
index ba137dd3..0b891137 100644
--- a/test/gmock_test.cc
+++ b/test/gmock_test.cc
@@ -251,5 +251,5 @@ TEST(WideInitGoogleMockTest, CallsInitGoogleTest) {
TEST(FlagTest, IsAccessibleInCode) {
bool dummy = testing::GMOCK_FLAG(catch_leaked_mocks) &&
testing::GMOCK_FLAG(verbose) == "";
- dummy = dummy; // Avoids the "unused local variable" warning.
+ (void)dummy; // Avoids the "unused local variable" warning.
}