From 1f643f71d4151c3b364c0e9302042f7a6debd439 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Wed, 30 Nov 2022 14:41:44 -0800 Subject: [PATCH] Make SizeIsMatcher::Impl conform to the contract of MatcherDescriberInterface. MatcherDescriberInterface specifies that DescribeTo "should print a verb phrase", but "size ..." is not a verb phrase. Currently, ElementsAre(SizeIs(9)) is described as "has 1 element that size is equal to 9". With this change, it will be described as "has 1 element that has a size that is equal to 9". PiperOrigin-RevId: 492022324 Change-Id: I4083335f2419462464957521c1e033643b53b763 --- googlemock/include/gmock/gmock-matchers.h | 4 ++-- googlemock/test/gmock-matchers-containers_test.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/googlemock/include/gmock/gmock-matchers.h b/googlemock/include/gmock/gmock-matchers.h index 9ade9273..901c109c 100644 --- a/googlemock/include/gmock/gmock-matchers.h +++ b/googlemock/include/gmock/gmock-matchers.h @@ -2309,11 +2309,11 @@ class SizeIsMatcher { : size_matcher_(MatcherCast(size_matcher)) {} void DescribeTo(::std::ostream* os) const override { - *os << "size "; + *os << "has a size that "; size_matcher_.DescribeTo(os); } void DescribeNegationTo(::std::ostream* os) const override { - *os << "size "; + *os << "has a size that "; size_matcher_.DescribeNegationTo(os); } diff --git a/googlemock/test/gmock-matchers-containers_test.cc b/googlemock/test/gmock-matchers-containers_test.cc index f50159f8..98787f25 100644 --- a/googlemock/test/gmock-matchers-containers_test.cc +++ b/googlemock/test/gmock-matchers-containers_test.cc @@ -1182,8 +1182,8 @@ TEST(SizeIsTest, WorksWithMinimalistCustomType) { TEST(SizeIsTest, CanDescribeSelf) { Matcher> m = SizeIs(2); - EXPECT_EQ("size is equal to 2", Describe(m)); - EXPECT_EQ("size isn't equal to 2", DescribeNegation(m)); + EXPECT_EQ("has a size that is equal to 2", Describe(m)); + EXPECT_EQ("has a size that isn't equal to 2", DescribeNegation(m)); } TEST(SizeIsTest, ExplainsResult) {