From 8f3ffcf0bbe9f7913a4ce16454e68d2a2cef2f55 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Thu, 15 Apr 2021 02:42:38 -0700 Subject: [PATCH] Add unit tests for RuntimeScheduler::cancelTask Summary: Changelog: [internal] Add unit tests for RuntimeScheduler::cancelTask Reviewed By: JoshuaGross Differential Revision: D27764482 fbshipit-source-id: 3833e49dd49865be4126bc5c3eb95a40d04bba99 --- .../tests/RuntimeSchedulerTest.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp b/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp index 9cf43f1a2c3..51b7464051f 100644 --- a/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +++ b/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp @@ -162,4 +162,23 @@ TEST_F(RuntimeSchedulerTest, scheduleTwoTasksWithDifferentPriorities) { EXPECT_EQ(stubQueue_->size(), 0); } +TEST_F(RuntimeSchedulerTest, cancelTask) { + bool didRunTask = false; + auto callback = + createHostFunctionFromLambda([&didRunTask]() { didRunTask = true; }); + + auto task = runtimeScheduler_->scheduleTask( + SchedulerPriority::NormalPriority, std::move(callback)); + + EXPECT_FALSE(didRunTask); + EXPECT_EQ(stubQueue_->size(), 1); + + runtimeScheduler_->cancelTask(task); + + stubQueue_->tick(); + + EXPECT_FALSE(didRunTask); + EXPECT_EQ(stubQueue_->size(), 0); +} + } // namespace facebook::react