diff options
Diffstat (limited to 'tests/common/test_selection.c')
| -rw-r--r-- | tests/common/test_selection.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/common/test_selection.c b/tests/common/test_selection.c new file mode 100644 index 0000000..d1b3eb8 --- /dev/null +++ b/tests/common/test_selection.c @@ -0,0 +1,34 @@ +#define _POSIX_C_SOURCE 200809L +#include "yasl/yasl.h" + +#include <assert.h> +#include <errno.h> +#include <stdlib.h> + +int main(void) +{ + struct yasl_display_spec spec = {.backend = (enum yasl_backend)999}; + errno = 0; + assert(!yasl_display_open(NULL, &spec)); + assert(errno == EINVAL); + assert(yasl_display_backend(NULL) == YASL_BACKEND_AUTO); +#if !YASL_HAS_COCOA + spec.backend = YASL_BACKEND_COCOA; + errno = 0; + assert(!yasl_display_open(NULL, &spec)); + assert(errno == ENOSYS); +#endif +#if !YASL_HAS_WAYLAND + spec.backend = YASL_BACKEND_WAYLAND; + errno = 0; + assert(!yasl_display_open(NULL, &spec)); + assert(errno == ENOSYS); +#endif +#if !YASL_HAS_X11 + spec.backend = YASL_BACKEND_X11; + errno = 0; + assert(!yasl_display_open(NULL, &spec)); + assert(errno == ENOSYS); +#endif + return 0; +} |
