From b6bb688199abc342a6e85f80859c8cbb5a41b58a Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Mon, 23 Jan 2023 20:34:03 +0100 Subject: Add some tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libglitter_reorder_rasters.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'libglitter_reorder_rasters.c') diff --git a/libglitter_reorder_rasters.c b/libglitter_reorder_rasters.c index 5df590e..c56873c 100644 --- a/libglitter_reorder_rasters.c +++ b/libglitter_reorder_rasters.c @@ -1,5 +1,6 @@ /* See LICENSE file for copyright and license details. */ #include "common.h" +#ifndef TEST void @@ -13,3 +14,40 @@ libglitter_reorder_rasters(void **rasters, enum libglitter_colour colour1, rasters[1] = channel2; rasters[2] = channel3; } + + +#else + + +int +main(void) +{ + const char r = 'R', g = 'G', b = 'B'; + const void *rasters[3]; + +#define T(CH1, CH2, CH3)\ + do {\ + rasters[0] = &r;\ + rasters[1] = &g;\ + rasters[2] = &b;\ + libglitter_reorder_rasters((void *)rasters,\ + LIBGLITTER_CHANNEL_##CH1,\ + LIBGLITTER_CHANNEL_##CH2,\ + LIBGLITTER_CHANNEL_##CH3);\ + ASSERT(*(const char *)rasters[0] == *#CH1);\ + ASSERT(*(const char *)rasters[1] == *#CH2);\ + ASSERT(*(const char *)rasters[2] == *#CH3);\ + } while (0) + + T(RED, GREEN, BLUE); + T(RED, BLUE, GREEN); + T(GREEN, RED, BLUE); + T(GREEN, BLUE, RED); + T(BLUE, RED, GREEN); + T(BLUE, GREEN, RED); + + return 0; +} + + +#endif -- cgit v1.2.3-70-g09d2