summaryrefslogtreecommitdiff
path: root/test/gmock-generated-function-mockers_test.cc
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2009-03-25 03:56:48 +0000
committerzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2009-03-25 03:56:48 +0000
commit3d142e8d89a47433de4b6ec15c65b92d0556ac42 (patch)
tree65c039a9a6d47520768c44e855f924fc9a9f266c /test/gmock-generated-function-mockers_test.cc
parentb658ce6fd6f77fee811c32ea411a83ed3ff1228c (diff)
downloadgooglemock-3d142e8d89a47433de4b6ec15c65b92d0556ac42.tar.gz
Allows mock methods overloaded on argument number or the const-ness of this object to appear on the same source line.
git-svn-id: http://googlemock.googlecode.com/svn/trunk@126 8415998a-534a-0410-bf83-d39667b30386
Diffstat (limited to 'test/gmock-generated-function-mockers_test.cc')
-rw-r--r--test/gmock-generated-function-mockers_test.cc40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/gmock-generated-function-mockers_test.cc b/test/gmock-generated-function-mockers_test.cc
index 431cbd6..7267c10 100644
--- a/test/gmock-generated-function-mockers_test.cc
+++ b/test/gmock-generated-function-mockers_test.cc
@@ -422,5 +422,45 @@ TEST(TemplateMockTestWithCallType, Works) {
}
#endif // GTEST_OS_WINDOWS
+#define MY_MOCK_METHODS1_ \
+ MOCK_METHOD0(Overloaded, void()); \
+ MOCK_CONST_METHOD1(Overloaded, int(int n)); \
+ MOCK_METHOD2(Overloaded, bool(bool f, int n))
+
+class MockOverloadedOnArgNumber {
+ public:
+ MY_MOCK_METHODS1_;
+};
+
+TEST(OverloadedMockMethodTest, CanOverloadOnArgNumberInMacroBody) {
+ MockOverloadedOnArgNumber mock;
+ EXPECT_CALL(mock, Overloaded());
+ EXPECT_CALL(mock, Overloaded(1)).WillOnce(Return(2));
+ EXPECT_CALL(mock, Overloaded(true, 1)).WillOnce(Return(true));
+
+ mock.Overloaded();
+ EXPECT_EQ(2, mock.Overloaded(1));
+ EXPECT_TRUE(mock.Overloaded(true, 1));
+}
+
+#define MY_MOCK_METHODS2_ \
+ MOCK_CONST_METHOD1(Overloaded, int(int n)); \
+ MOCK_METHOD1(Overloaded, int(int n));
+
+class MockOverloadedOnConstness {
+ public:
+ MY_MOCK_METHODS2_;
+};
+
+TEST(OverloadedMockMethodTest, CanOverloadOnConstnessInMacroBody) {
+ MockOverloadedOnConstness mock;
+ const MockOverloadedOnConstness* const_mock = &mock;
+ EXPECT_CALL(mock, Overloaded(1)).WillOnce(Return(2));
+ EXPECT_CALL(*const_mock, Overloaded(1)).WillOnce(Return(3));
+
+ EXPECT_EQ(2, mock.Overloaded(1));
+ EXPECT_EQ(3, const_mock->Overloaded(1));
+}
+
} // namespace gmock_generated_function_mockers_test
} // namespace testing