diff options
-rw-r--r-- | googlemock/include/gmock/gmock-matchers.h | 11 | ||||
-rw-r--r-- | googlemock/test/gmock-matchers_test.cc | 9 |
2 files changed, 16 insertions, 4 deletions
diff --git a/googlemock/include/gmock/gmock-matchers.h b/googlemock/include/gmock/gmock-matchers.h index 7c70775..3a2b944 100644 --- a/googlemock/include/gmock/gmock-matchers.h +++ b/googlemock/include/gmock/gmock-matchers.h @@ -5212,17 +5212,20 @@ internal::AnyOfMatcher<Args...> AnyOf(const Args&... matchers) { } template <typename... Args> -internal::ElementsAreMatcher<tuple<typename std::decay<Args>::type...>> +internal::ElementsAreMatcher<tuple<typename std::decay<const Args&>::type...>> ElementsAre(const Args&... matchers) { return internal::ElementsAreMatcher< - tuple<typename std::decay<Args>::type...>>(make_tuple(matchers...)); + tuple<typename std::decay<const Args&>::type...>>( + make_tuple(matchers...)); } template <typename... Args> -internal::UnorderedElementsAreMatcher<tuple<typename std::decay<Args>::type...>> +internal::UnorderedElementsAreMatcher< + tuple<typename std::decay<const Args&>::type...>> UnorderedElementsAre(const Args&... matchers) { return internal::UnorderedElementsAreMatcher< - tuple<typename std::decay<Args>::type...>>(make_tuple(matchers...)); + tuple<typename std::decay<const Args&>::type...>>( + make_tuple(matchers...)); } #endif // GTEST_LANG_CXX11 diff --git a/googlemock/test/gmock-matchers_test.cc b/googlemock/test/gmock-matchers_test.cc index c40944b..8b115cd 100644 --- a/googlemock/test/gmock-matchers_test.cc +++ b/googlemock/test/gmock-matchers_test.cc @@ -2752,6 +2752,15 @@ TEST(ElementsAreTest, HugeMatcher) { } // Tests the variadic version of the UnorderedElementsAreMatcher +TEST(ElementsAreTest, HugeMatcherStr) { + vector<string> test_vector{ + "literal_string", "", "", "", "", "", "", "", "", "", "", ""}; + + EXPECT_THAT(test_vector, UnorderedElementsAre("literal_string", _, _, _, _, _, + _, _, _, _, _, _)); +} + +// Tests the variadic version of the UnorderedElementsAreMatcher TEST(ElementsAreTest, HugeMatcherUnordered) { vector<int> test_vector{2, 1, 8, 5, 4, 6, 7, 3, 9, 12, 11, 10}; |