aboutsummaryrefslogtreecommitdiffstats
path: root/test/gmock-generated-actions_test.cc
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2009-07-21 23:26:31 +0000
committerzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2009-07-21 23:26:31 +0000
commit1afe1c7971e649ae8b85a39fc1ab6ac595e1dd58 (patch)
tree89211fcb578f2e2cb40e6c2570866d969feee655 /test/gmock-generated-actions_test.cc
parent387bdd551d4a88383246841ac3f70324b8d42772 (diff)
downloadgoogletest-1afe1c7971e649ae8b85a39fc1ab6ac595e1dd58.tar.gz
googletest-1afe1c7971e649ae8b85a39fc1ab6ac595e1dd58.tar.bz2
googletest-1afe1c7971e649ae8b85a39fc1ab6ac595e1dd58.zip
Adds the ReturnArg<k>() action (by Tim Hockin); refactors gmock-matchers.h (by Zhanyong Wan).
Diffstat (limited to 'test/gmock-generated-actions_test.cc')
-rw-r--r--test/gmock-generated-actions_test.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/gmock-generated-actions_test.cc b/test/gmock-generated-actions_test.cc
index cf3c7891..885097c7 100644
--- a/test/gmock-generated-actions_test.cc
+++ b/test/gmock-generated-actions_test.cc
@@ -59,6 +59,7 @@ using testing::DoAll;
using testing::Invoke;
using testing::InvokeArgument;
using testing::Return;
+using testing::ReturnArg;
using testing::ReturnNew;
using testing::SaveArg;
using testing::SetArgReferee;
@@ -1382,6 +1383,21 @@ TEST(ActionPnMacroTest, CanExplicitlyInstantiateWithReferenceTypes) {
EXPECT_EQ(55, a.Perform(empty));
}
+TEST(ReturnArgActionTest, WorksForOneArgIntArg0) {
+ const Action<int(int)> a = ReturnArg<0>();
+ EXPECT_EQ(5, a.Perform(make_tuple(5)));
+}
+
+TEST(ReturnArgActionTest, WorksForMultiArgBoolArg0) {
+ const Action<bool(bool, bool, bool)> a = ReturnArg<0>();
+ EXPECT_TRUE(a.Perform(make_tuple(true, false, false)));
+}
+
+TEST(ReturnArgActionTest, WorksForMultiArgStringArg2) {
+ const Action<string(int, int, string, int)> a = ReturnArg<2>();
+ EXPECT_EQ("seven", a.Perform(make_tuple(5, 6, string("seven"), 8)));
+}
+
TEST(SaveArgActionTest, WorksForSameType) {
int result = 0;
const Action<void(int n)> a1 = SaveArg<0>(&result);