diff options
Diffstat (limited to 'test/ui')
| -rw-r--r-- | test/ui/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | test/ui/DeleteLaterTest.cpp | 17 |
2 files changed, 23 insertions, 0 deletions
diff --git a/test/ui/CMakeLists.txt b/test/ui/CMakeLists.txt index e69de29b..66a7cd27 100644 --- a/test/ui/CMakeLists.txt +++ b/test/ui/CMakeLists.txt @@ -0,0 +1,6 @@ +add_executable(CruUiTest + DeleteLaterTest.cpp +) +target_link_libraries(CruUiTest PRIVATE CruUi CruTestBase) + +cru_catch_discover_tests(CruUiTest) diff --git a/test/ui/DeleteLaterTest.cpp b/test/ui/DeleteLaterTest.cpp new file mode 100644 index 00000000..c9d600de --- /dev/null +++ b/test/ui/DeleteLaterTest.cpp @@ -0,0 +1,17 @@ +#include "cru/ui/DeleteLater.h" + +#include <catch2/catch_test_macros.hpp> + +struct MockDeleteLater { + bool triggered = false; + + void DeleteLater() { triggered = true; } +}; + +TEST_CASE("DeleteLaterPtr should work.", "[delete-later]") { + auto ptr = cru::ui::MakeDeleteLater<MockDeleteLater>(); + auto p = ptr.get(); + ptr.reset(); + REQUIRE(p->triggered); + delete p; +} |
