TEST(MainThreadTaskRunnerTest, SuspendTask)
{
    RawPtr<NullExecutionContext> context = new NullExecutionContext();
    RawPtr<MainThreadTaskRunner> runner = MainThreadTaskRunner::create(context.get());
    bool isMarked = false;

    context->setTasksNeedSuspension(true);
    runner->postTask(BLINK_FROM_HERE, createSameThreadTask(&markBoolean, &isMarked));
    runner->suspend();
    blink::testing::runPendingTasks();
    EXPECT_FALSE(isMarked);

    context->setTasksNeedSuspension(false);
    runner->resume();
    blink::testing::runPendingTasks();
    EXPECT_TRUE(isMarked);
}