From 643862d8adb333eae9f3ff288895314dfcc87587 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Wed, 25 Jan 2023 10:03:30 -0800 Subject: [PATCH] Mention `DescribeMatcher` in matchers.md PiperOrigin-RevId: 504591836 Change-Id: I48c93490d0c3b7c6bfaceceb1cef5eedeacfe6c6 --- docs/reference/matchers.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/reference/matchers.md b/docs/reference/matchers.md index 9fb15927..be962819 100644 --- a/docs/reference/matchers.md +++ b/docs/reference/matchers.md @@ -288,3 +288,15 @@ which must be a permanent callback. return ExplainMatchResult(matcher, arg.nested().property(), result_listener); } ``` + +5. You can use `DescribeMatcher<>` to describe another matcher. For example: + + ```cpp + MATCHER_P(XAndYThat, matcher, + "X that " + DescribeMatcher(matcher, negation) + + (negation ? " or" : " and") + " Y that " + + DescribeMatcher(matcher, negation)) { + return ExplainMatchResult(matcher, arg.x(), result_listener) && + ExplainMatchResult(matcher, arg.y(), result_listener); + } + ```