diff options
author | Abseil Team <absl-team@google.com> | 2019-11-19 16:57:57 (GMT) |
---|---|---|
committer | Gennadiy Civil <misterg@google.com> | 2019-11-20 19:16:45 (GMT) |
commit | 4bf466236dbe1db812fab9264d800175eec1cd24 (patch) | |
tree | 87fcc9d798f07707fa35cc3b79e0598314c0eef9 /googlemock | |
parent | 50cfbb726b26700d143ce5bb55c0b5e86de7a1e6 (diff) | |
download | googletest-4bf466236dbe1db812fab9264d800175eec1cd24.zip googletest-4bf466236dbe1db812fab9264d800175eec1cd24.tar.gz googletest-4bf466236dbe1db812fab9264d800175eec1cd24.tar.bz2 |
Googletest export
Add a breadcrumb about nullopt comparison near the Optional() matcher.
Also add a note about how otherwise-spurious 'Eq()' may be needed in some cases. Without this, something like Field(&MyStruct::optional_field_without_equals_equals, absl::nullopt) doesn't work - it converts the nullopt to an optional<> of the non-equalable type, and fails to select the operator==(optional<>, nullopt_t) overload. The Eq() lets the type persist later into the match.
PiperOrigin-RevId: 281305519
Diffstat (limited to 'googlemock')
-rw-r--r-- | googlemock/docs/cheat_sheet.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/googlemock/docs/cheat_sheet.md b/googlemock/docs/cheat_sheet.md index 975362b..f6e7349 100644 --- a/googlemock/docs/cheat_sheet.md +++ b/googlemock/docs/cheat_sheet.md @@ -266,7 +266,7 @@ Matcher | Description | `IsTrue()` | `argument` evaluates to `true` in a Boolean context. | | `IsNull()` | `argument` is a `NULL` pointer (raw or smart). | | `NotNull()` | `argument` is a non-null pointer (raw or smart). | -| `Optional(m)` | `argument` is `optional<>` that contains a value matching `m`. | +| `Optional(m)` | `argument` is `optional<>` that contains a value matching `m`. (For testing whether an `optional<>` is set, check for equality with `nullopt`. You may need to use `Eq(nullopt)` if the inner type doesn't have `==`.)| | `VariantWith<T>(m)` | `argument` is `variant<>` that holds the alternative of type T with a value matching `m`. | | `Ref(variable)` | `argument` is a reference to `variable`. | | `TypedEq<type>(value)` | `argument` has type `type` and is equal to `value`. You may need to use this instead of `Eq(value)` when the mock function is overloaded. | |