From 4253bb9922a05034b4c20757df6fbdb8c0db1151 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 28 Jun 2024 15:44:29 -0400 Subject: [PATCH] memoryformat: Add test for depth merging We want to ensure a few invariants: - merge (a, a) == a - merge (a, b) == merge (b, a) Add tests to verify that this is now the case. --- testsuite/gdk/memoryformat.c | 25 +++++++++++++++++++++++++ testsuite/gdk/meson.build | 1 + 2 files changed, 26 insertions(+) create mode 100644 testsuite/gdk/memoryformat.c diff --git a/testsuite/gdk/memoryformat.c b/testsuite/gdk/memoryformat.c new file mode 100644 index 0000000000..534a3ad751 --- /dev/null +++ b/testsuite/gdk/memoryformat.c @@ -0,0 +1,25 @@ +#include +#include + +static void +test_depth_merge (void) +{ + for (GdkMemoryDepth depth1 = GDK_MEMORY_U8; depth1 < GDK_N_DEPTHS; depth1++) + { + g_assert_cmpint (gdk_memory_depth_merge (depth1, depth1), ==, depth1); + for (GdkMemoryDepth depth2 = GDK_MEMORY_U8; depth2 < depth1; depth2++) + { + g_assert_cmpint (gdk_memory_depth_merge (depth1, depth2), ==, gdk_memory_depth_merge (depth2, depth1)); + } + } +} + +int +main (int argc, char *argv[]) +{ + (g_test_init) (&argc, &argv, NULL); + + g_test_add_func ("/depth/merge", test_depth_merge); + + return g_test_run (); +} diff --git a/testsuite/gdk/meson.build b/testsuite/gdk/meson.build index 19259e30b0..b28e82f0b8 100644 --- a/testsuite/gdk/meson.build +++ b/testsuite/gdk/meson.build @@ -63,6 +63,7 @@ internal_tests = [ { 'name': 'texture' }, { 'name': 'gltexture' }, { 'name': 'subsurface' }, + { 'name': 'memoryformat' }, ] if os_linux