`IsOk()` | + `argument` is a `absl::Status` or `absl::StatusOr |
+
`IsOkAndHolds(m)` | +
+ `argument` is an `absl::StatusOr |
+
`StatusHasPayload()` | + `argument` is a `absl::Status` or `absl::StatusOr |
+
`StatusHasPayload |
+ `argument` is a `absl::Status` or `absl::StatusOr |
+
`StatusHasPayload |
+ `argument` is a `absl::Status` or `absl::StatusOr |
+
`StatusIs(s, c, m)` | + `argument` is a `absl::Status` or `absl::StatusOr |
+
`StatusIs(c, m)` | + `argument` is a `absl::Status` or `absl::StatusOr |
+
`StatusIs(c)` | + `argument` is a `absl::Status` or `absl::StatusOr |
+
`CanonicalStatusIs(c, m)` | + `argument` is a `absl::Status` or `absl::StatusOr |
+
`CanonicalStatusIs(c)` | + `argument` is a `absl::Status` or `absl::StatusOr |
+
`Property(&MyProto::has_size, true)` | +Matches `proto` where `proto.has_size()` returns `true`. | +
`Property(&MyProto::size, Gt(5))` | +Matches `proto` where `proto.size()` is greater than 5. | +
`EqualsInitializedProto(proto)` | +`argument` is fully-initialized and equal to `proto`. | +
`EqualsProto(proto)` | +`argument` is equal to `proto`. Can also be used as a multi-argument matcher; see below. | +
`EquivToInitializedProto(proto)` | +`argument` is fully-initialized and equivalent to `proto`. | +
`EquivToProto(proto)` | +`argument` is equivalent to `proto`. Can also be used as a multi-argument matcher; see below. | +
`IsInitializedProto()` | +`argument` is a fully-initialized protocol buffer. | +
`Approximately(proto_matcher)` | +The same as `proto_matcher` except that it compares floating-point fields approximately. | +
`Approximately(proto_matcher, margin)` | +The same as `Approximately(proto_matcher)` except that two floating-point fields are considered equal if their absolute difference is <= `margin`. | +
`Approximately(proto_matcher, margin, fraction)` | +The same as `Approximately(proto_matcher)` except that two floating-point fields are considered equal if their absolute difference is <= `margin` or their fractional difference is <= `fraction`. | +
`TreatingNaNsAsEqual(proto_matcher)` | +The same as `proto_matcher` except that two floating-point fields are considered equal if both are NaN, matching the behavior of `NanSensitiveDoubleEq()`. | +
`IgnoringRepeatedFieldOrdering(proto_matcher)` | +The same as `proto_matcher` except that it ignores ordering of elements within repeated fields (see `proto2::MessageDifferencer::TreatAsSet()` for more details). | +
`IgnoringFieldPaths({"some_field.subfield"}, proto_matcher)` | +The same as `proto_matcher` except that it ignores the value of field `subfield` in field `some_field`. | +
`Partially(proto_matcher)` | +The same as `proto_matcher` except that only fields present in the expected protocol buffer are considered. | +
`WhenDeserialized(typed_proto_matcher)` | +`argument` is a string in the protocol buffer binary format that can be deserialized to a protocol buffer matching `typed_proto_matcher`. | +
`WhenDeserializedAs |
+ `argument` is a string in the protocol buffer binary format that can be deserialized to a protocol buffer of type `PB` that matches `matcher`. | +
`WhenParsedFromProtoText(typed_proto_matcher)` | +`argument` is a string in the protocol buffer text format that can be parsed to a protocol buffer matching `typed_proto_matcher`. | +
`WhenParsedFromProtoTextAs |
+ `argument` is a string in the protocol buffer text format that can be parsed to a protocol buffer of type `PB` that matches `matcher`. | +
`WhenUnpacked(typed_proto_matcher)` | +`argument` is a `google.protobuf.Any` that can be unpacked into a protocol buffer of the type of `typed_proto_matcher` that matches that matcher. | +
`WhenUnpackedTo |
+ `argument` is a `google.protobuf.Any` that can be unpacked into a protocol buffer of type `PB` that matches `matcher`. | +
`EqualsProto()` | +`x.Equals(y)` | +
`EquivToProto()` | +`x.Equivalent(y)` | +
`BeDone()` | +Calls the `done` closure. | +
`FailWith(status)` | +Fails the RPC with the given RPC status code. | +
`FailWithUtilStatus(util_status)` | +Fails the RPC with the given util::Status error code. | +
`RespondWith(proto)` | +Sets the `response` argument to the given protocol buffer, and calls the `done` closure. | +
`RespondWith(proto_string)` | +Sets the `response` argument to the protocol buffer parsed from the given ASCII string, and calls the `done` closure. | +
`Tuple(m0, m1, ..., mn)` | +`argument` is a `std::tuple` const reference with `n + 1` elements, where the i-th element matches `std::get*(argument)` | +
`FieldPairsAre(m0, m1, ..., mn)` | +matches a pair (2-tuple) of tuples where matcher `mi` matches the i-th fields of the tuples; usually for use inside `Pointwise()` or `UnorderedPointwise()` | +
`webutil_url::testing::HasUrlArg(key)` | +`argument` is a URL string that has a query argument whose name is `key`. E.g. `http://foo.com/bar?key=value` | +
`webutil_url::testing::HasUrlArg(key, m)` | +`argument` is a URL string that has a query argument whose name is `key` and whose value matches `m`. | +
`webutil_url::testing::HasUrlPathParam(key)` | +`argument` is a URL string that has a path parameter whose name is `key`. E.g. `http://foo.com/bar;key=value` | +
`webutil_url::testing::HasUrlPathParam(key, m)` | +`argument` is a URL string that has a path parameter whose name is `key` and whose value matches `m`. | +
`Json::testing::EqualsJson(json)` | +`argument` is a string that represents the same Json value as the `json` string does. | +
`testing_lib_util_coding::EncodesVarint64(n)` | +`argument` is a string that represents a Varint encoding of `n`, a `uint64` value. | +
`prototemplate::testing::MatchesXPath(str)` | +`argument` is a well-formed HTML/XML string that matches the given [XPath](http://www.w3.org/TR/xpath/#contents) expression. | +
`flume::testing::Kv(key_matcher, value_matcher)` | +`argument` is a `KV` where the key matches `key_matcher` and the value matches `value_matcher`. | +
`i18n_testing::I18nEq(utf8)` | +`argument` is a `absl::string_view` whose content matches `utf8` allowing for locale data changes. + In case it does not match, the error message contains both a readable version of both strings and the list of + decoded codepoints. | +