From fdf921c0adff5317e426e798f8a716ca97046383 Mon Sep 17 00:00:00 2001 From: Mitya Selivanov Date: Fri, 12 Jan 2024 16:15:10 +0100 Subject: Refactor; defer with fblocks --- source/tests/defer.test.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 source/tests/defer.test.c (limited to 'source/tests/defer.test.c') diff --git a/source/tests/defer.test.c b/source/tests/defer.test.c new file mode 100644 index 0000000..0eb8557 --- /dev/null +++ b/source/tests/defer.test.c @@ -0,0 +1,37 @@ +#if defined(__clang__) || defined(__APPLE__) +# include "../kit/defer.h" + +# define KIT_TEST_FILE defer_block +# include "../kit/test.h" + +TEST("defer") { + int defer_ref x = 1; + + { + defer { + x = 2; + }; + + x = 3; + } + + REQUIRE_EQ(x, 2); +} + +TEST("defer capture") { + int defer_ref x = 1; + + { + defer { + if (x == 3) + x = 2; + }; + + x = 3; + } + + REQUIRE_EQ(x, 2); +} + +# undef KIT_TEST_FILE +#endif -- cgit v1.2.3