Clarify use of IsTrue and IsFalse matchers.
These matchers are subtle and confusing: what are they for?
The docs in the code are clear, but not very accessible.
googletest/googlemock/include/gmock/gmock-more-matchers.h
PiperOrigin-RevId: 283393275
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
Add a matcher `testing::ReturnRoundRobin` which, on each call, returns the next element in the sequence, restarting at the beginning once it has reached the end.
PiperOrigin-RevId: 276312136
Rolling forward IsNan() matcher with fixes in test for -Wconversion issues. Use
std::nanf and std::nanl where appropriate.
PiperOrigin-RevId: 275523003
Move IsFalse/IsTrue to a more appropriate section in the gmock matchers cheat sheet.
I'm assuming their current placement within the "Container Matchers" list is a mistake -- they don't seem to be container related and would fit well with other generic matchers.
PiperOrigin-RevId: 268016027