Forráskód Böngészése

Tests: Add tests for Core::deferred_invoke

sin-ack 3 éve
szülő
commit
b5a145b466

+ 1 - 0
Tests/LibCore/CMakeLists.txt

@@ -3,6 +3,7 @@ set(
   ${CMAKE_CURRENT_SOURCE_DIR}/TestLibCoreArgsParser.cpp
   ${CMAKE_CURRENT_SOURCE_DIR}/TestLibCoreFileWatcher.cpp
   ${CMAKE_CURRENT_SOURCE_DIR}/TestLibCoreIODevice.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/TestLibCoreDeferredInvoke.cpp
 )
 
 foreach(source ${TEST_SOURCES})

+ 25 - 0
Tests/LibCore/TestLibCoreDeferredInvoke.cpp

@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2021, sin-ack <sin-ack@protonmail.com>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#include <AK/Format.h>
+#include <LibCore/EventLoop.h>
+#include <LibCore/Timer.h>
+#include <LibTest/TestCase.h>
+
+TEST_CASE(deferred_invoke)
+{
+    Core::EventLoop event_loop;
+    auto reaper = Core::Timer::create_single_shot(250, [] {
+        warnln("I waited for the deferred_invoke to happen, but it never did!");
+        VERIFY_NOT_REACHED();
+    });
+
+    Core::deferred_invoke([&event_loop] {
+        event_loop.quit(0);
+    });
+
+    event_loop.exec();
+}