From 6a5eb807493214be733d4cbb9f07f22fde25284f Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Wed, 7 Apr 2021 13:17:57 -0700 Subject: [PATCH] Googletest export Update the example for Notify to use a lambda. It is much less boilerplate and easier to remember. PiperOrigin-RevId: 367284222 --- docs/gmock_cook_book.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/docs/gmock_cook_book.md b/docs/gmock_cook_book.md index a9f9edc0..c6a99912 100644 --- a/docs/gmock_cook_book.md +++ b/docs/gmock_cook_book.md @@ -2705,18 +2705,10 @@ behavior nondeterministic. A better way is to use gMock actions and `Notification` objects to force your asynchronous test to behave synchronously. ```cpp -using ::testing::DoAll; -using ::testing::InvokeWithoutArgs; -using ::testing::Return; - class MockEventDispatcher : public EventDispatcher { MOCK_METHOD(bool, DispatchEvent, (int32), (override)); }; -ACTION_P(Notify, notification) { - notification->Notify(); -} - TEST(EventQueueTest, EnqueueEventTest) { MockEventDispatcher mock_event_dispatcher; EventQueue event_queue(&mock_event_dispatcher); @@ -2724,7 +2716,7 @@ TEST(EventQueueTest, EnqueueEventTest) { const int32 kEventId = 321; absl::Notification done; EXPECT_CALL(mock_event_dispatcher, DispatchEvent(kEventId)) - .WillOnce(Notify(&done)); + .WillOnce([&done] { done.Notify(); }); event_queue.EnqueueEvent(kEventId); done.WaitForNotification();