summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/gmock-internal-utils_test.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/gmock-internal-utils_test.cc b/test/gmock-internal-utils_test.cc
index 95a7dc3..f0d4567 100644
--- a/test/gmock-internal-utils_test.cc
+++ b/test/gmock-internal-utils_test.cc
@@ -96,6 +96,13 @@ TEST(ConvertIdentifierNameToWordsTest, WorksWhenNameIsMixture) {
TEST(PointeeOfTest, WorksForSmartPointers) {
CompileAssertTypesEqual<const char,
PointeeOf<internal::linked_ptr<const char> >::type>();
+#if GTEST_HAS_STD_UNIQUE_PTR_
+ CompileAssertTypesEqual<int, PointeeOf<std::unique_ptr<int> >::type>();
+#endif // GTEST_HAS_STD_UNIQUE_PTR_
+#if GTEST_HAS_STD_SHARED_PTR_
+ CompileAssertTypesEqual<std::string,
+ PointeeOf<std::shared_ptr<std::string> >::type>();
+#endif // GTEST_HAS_STD_SHARED_PTR_
}
TEST(PointeeOfTest, WorksForRawPointers) {
@@ -105,6 +112,17 @@ TEST(PointeeOfTest, WorksForRawPointers) {
}
TEST(GetRawPointerTest, WorksForSmartPointers) {
+#if GTEST_HAS_STD_UNIQUE_PTR_
+ const char* const raw_p1 = new const char('a'); // NOLINT
+ const std::unique_ptr<const char> p1(raw_p1);
+ EXPECT_EQ(raw_p1, GetRawPointer(p1));
+#endif // GTEST_HAS_STD_UNIQUE_PTR_
+#if GTEST_HAS_STD_SHARED_PTR_
+ double* const raw_p2 = new double(2.5); // NOLINT
+ const std::shared_ptr<double> p2(raw_p2);
+ EXPECT_EQ(raw_p2, GetRawPointer(p2));
+#endif // GTEST_HAS_STD_SHARED_PTR_
+
const char* const raw_p4 = new const char('a'); // NOLINT
const internal::linked_ptr<const char> p4(raw_p4);
EXPECT_EQ(raw_p4, GetRawPointer(p4));