aboutsummaryrefslogtreecommitdiffstats
path: root/googlemock/test
diff options
context:
space:
mode:
authorJoshua Cannon <joshdcannon@gmail.com>2019-10-10 08:52:27 -0500
committerJoshua Cannon <joshdcannon@gmail.com>2019-10-10 08:52:27 -0500
commitbc996e0817d85c9dcfbf031480d22743aba697b2 (patch)
tree1660eed2e3a7aa5b03bd9175a81bb2632c8b7512 /googlemock/test
parent20255e6f40995f03c808a0589ea92c52a26552cd (diff)
downloadgoogletest-bc996e0817d85c9dcfbf031480d22743aba697b2.tar.gz
googletest-bc996e0817d85c9dcfbf031480d22743aba697b2.tar.bz2
googletest-bc996e0817d85c9dcfbf031480d22743aba697b2.zip
Made noexcept condition more exciting
Diffstat (limited to 'googlemock/test')
-rw-r--r--googlemock/test/gmock-function-mocker_test.cc20
1 files changed, 12 insertions, 8 deletions
diff --git a/googlemock/test/gmock-function-mocker_test.cc b/googlemock/test/gmock-function-mocker_test.cc
index f493c72f..4889d681 100644
--- a/googlemock/test/gmock-function-mocker_test.cc
+++ b/googlemock/test/gmock-function-mocker_test.cc
@@ -658,25 +658,29 @@ TEST(MockMethodMockFunctionTest, MockMethodSizeOverhead) {
}
void hasTwoParams(int, int);
+void MaybeThrows();
+void DoesntThrow() noexcept;
struct MockMethodNoexceptSpecifier {
MOCK_METHOD(void, func1, (), (noexcept));
MOCK_METHOD(void, func2, (), (noexcept(true)));
MOCK_METHOD(void, func3, (), (noexcept(false)));
- MOCK_METHOD(void, func4, (), (noexcept(noexcept(1+1))));
- MOCK_METHOD(void, func5, (), (const, noexcept(noexcept(1+1))));
- MOCK_METHOD(void, func6, (), (noexcept(noexcept(1+1)), const));
+ MOCK_METHOD(void, func4, (), (noexcept(noexcept(MaybeThrows()))));
+ MOCK_METHOD(void, func5, (), (noexcept(noexcept(DoesntThrow()))));
+ MOCK_METHOD(void, func6, (), (noexcept(noexcept(DoesntThrow())), const));
+ MOCK_METHOD(void, func7, (), (const, noexcept(noexcept(DoesntThrow()))));
// Put commas in the noexcept expression
- MOCK_METHOD(void, func7, (), (noexcept(noexcept(hasTwoParams(1,2))), const));
+ MOCK_METHOD(void, func8, (), (noexcept(noexcept(hasTwoParams(1,2))), const));
};
TEST(MockMethodMockFunctionTest, NoexceptSpecifierPreserved) {
EXPECT_TRUE(noexcept(std::declval<MockMethodNoexceptSpecifier>().func1()));
EXPECT_TRUE(noexcept(std::declval<MockMethodNoexceptSpecifier>().func2()));
EXPECT_FALSE(noexcept(std::declval<MockMethodNoexceptSpecifier>().func3()));
- EXPECT_EQ(noexcept(std::declval<MockMethodNoexceptSpecifier>().func4()), noexcept(1+1));
- EXPECT_EQ(noexcept(std::declval<MockMethodNoexceptSpecifier>().func5()), noexcept(1+1));
- EXPECT_EQ(noexcept(std::declval<MockMethodNoexceptSpecifier>().func6()), noexcept(1+1));
- EXPECT_EQ(noexcept(std::declval<MockMethodNoexceptSpecifier>().func7()), noexcept(hasTwoParams(1,2)));
+ EXPECT_FALSE(noexcept(std::declval<MockMethodNoexceptSpecifier>().func4()));
+ EXPECT_TRUE(noexcept(std::declval<MockMethodNoexceptSpecifier>().func5()));
+ EXPECT_TRUE(noexcept(std::declval<MockMethodNoexceptSpecifier>().func6()));
+ EXPECT_TRUE(noexcept(std::declval<MockMethodNoexceptSpecifier>().func7()));
+ EXPECT_EQ(noexcept(std::declval<MockMethodNoexceptSpecifier>().func8()), noexcept(hasTwoParams(1,2)));
}
} // namespace gmock_function_mocker_test