This commit is contained in:
		@@ -5202,19 +5202,27 @@ std::string DescribeMatcher(const M& matcher, bool negation = false) {
 | 
			
		||||
// Define variadic matcher versions. They are overloaded in
 | 
			
		||||
// gmock-generated-matchers.h for the cases supported by pre C++11 compilers.
 | 
			
		||||
template <typename... Args>
 | 
			
		||||
inline internal::AllOfMatcher<Args...> AllOf(const Args&... matchers) {
 | 
			
		||||
internal::AllOfMatcher<Args...> AllOf(const Args&... matchers) {
 | 
			
		||||
  return internal::AllOfMatcher<Args...>(matchers...);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template <typename... Args>
 | 
			
		||||
inline internal::AnyOfMatcher<Args...> AnyOf(const Args&... matchers) {
 | 
			
		||||
internal::AnyOfMatcher<Args...> AnyOf(const Args&... matchers) {
 | 
			
		||||
  return internal::AnyOfMatcher<Args...>(matchers...);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template <typename... Args>
 | 
			
		||||
inline internal::UnorderedElementsAreMatcher<Args...>
 | 
			
		||||
UnorderedElementsAreMatcher(const Args&... matchers) {
 | 
			
		||||
  return internal::UnorderedElementsAreMatcher<Args...>(matchers...);
 | 
			
		||||
internal::ElementsAreMatcher<tuple<typename std::decay<Args>::type...>>
 | 
			
		||||
ElementsAre(const Args&... matchers) {
 | 
			
		||||
  return internal::ElementsAreMatcher<
 | 
			
		||||
      tuple<typename std::decay<Args>::type...>>(make_tuple(matchers...));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template <typename... Args>
 | 
			
		||||
internal::UnorderedElementsAreMatcher<tuple<typename std::decay<Args>::type...>>
 | 
			
		||||
UnorderedElementsAre(const Args&... matchers) {
 | 
			
		||||
  return internal::UnorderedElementsAreMatcher<
 | 
			
		||||
      tuple<typename std::decay<Args>::type...>>(make_tuple(matchers...));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif  // GTEST_LANG_CXX11
 | 
			
		||||
 
 | 
			
		||||
@@ -2742,6 +2742,48 @@ TEST(AnyOfTest, VariadicMatchesWhenAnyMatches) {
 | 
			
		||||
                         41, 42, 43, 44, 45, 46, 47, 48, 49, 50));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Tests the variadic version of the ElementsAreMatcher
 | 
			
		||||
TEST(ElementsAreTest, HugeMatcher) {
 | 
			
		||||
  vector<int> test_vector;
 | 
			
		||||
  test_vector.push_back(1);
 | 
			
		||||
  test_vector.push_back(2);
 | 
			
		||||
  test_vector.push_back(3);
 | 
			
		||||
  test_vector.push_back(4);
 | 
			
		||||
  test_vector.push_back(5);
 | 
			
		||||
  test_vector.push_back(6);
 | 
			
		||||
  test_vector.push_back(7);
 | 
			
		||||
  test_vector.push_back(8);
 | 
			
		||||
  test_vector.push_back(9);
 | 
			
		||||
  test_vector.push_back(10);
 | 
			
		||||
  test_vector.push_back(11);
 | 
			
		||||
  test_vector.push_back(12);
 | 
			
		||||
 | 
			
		||||
  EXPECT_THAT(test_vector,
 | 
			
		||||
              ElementsAre(Eq(1), Eq(2), Lt(13), Eq(4), Eq(5), Eq(6), Eq(7),
 | 
			
		||||
                          Eq(8), Eq(9), Eq(10), Gt(1), Eq(12) ));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Tests the variadic version of the UnorderedElementsAreMatcher
 | 
			
		||||
TEST(ElementsAreTest, HugeMatcherUnordered) {
 | 
			
		||||
  vector<int> test_vector;
 | 
			
		||||
  test_vector.push_back(1);
 | 
			
		||||
  test_vector.push_back(2);
 | 
			
		||||
  test_vector.push_back(3);
 | 
			
		||||
  test_vector.push_back(4);
 | 
			
		||||
  test_vector.push_back(5);
 | 
			
		||||
  test_vector.push_back(6);
 | 
			
		||||
  test_vector.push_back(7);
 | 
			
		||||
  test_vector.push_back(8);
 | 
			
		||||
  test_vector.push_back(9);
 | 
			
		||||
  test_vector.push_back(10);
 | 
			
		||||
  test_vector.push_back(11);
 | 
			
		||||
  test_vector.push_back(12);
 | 
			
		||||
 | 
			
		||||
  EXPECT_THAT(test_vector,
 | 
			
		||||
              UnorderedElementsAre(Eq(1), Eq(2), Eq(3), Eq(4), Eq(5), Eq(6), Eq(7),
 | 
			
		||||
                          Eq(8), Eq(9), Eq(10), Eq(11), Ne(122) ));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif  // GTEST_LANG_CXX11
 | 
			
		||||
 | 
			
		||||
// Tests that AnyOf(m1, ..., mn) describes itself properly.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user