diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | test/bmMenuNew.c | 20 | ||||
| -rw-r--r-- | test/bm_menu_new.c | 35 | 
3 files changed, 50 insertions, 9 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index f9d13a5..556df6a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,11 +1,11 @@  SET(TESTS -    "bmMenuNew" +    "bm_menu_new"      )  INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/../lib")  FOREACH (test ${TESTS})      ADD_EXECUTABLE(${test}_test ${test}.c) -    TARGET_LINK_LIBRARIES(${test}_test bemenu) +    TARGET_LINK_LIBRARIES(${test}_test bemenu ${BEMENU_LIBRARIES})      IF (WIN32)          ADD_TEST(${test}_test ${test}_test.exe) diff --git a/test/bmMenuNew.c b/test/bmMenuNew.c index ebab314..bccfbc8 100644 --- a/test/bmMenuNew.c +++ b/test/bmMenuNew.c @@ -1,25 +1,31 @@  #include <stdlib.h>  #include <unistd.h>  #include <stdio.h> +#include <string.h>  #include <assert.h>  #include <bemenu.h> -int main(int argc, char **argv) +int +main(int argc, char **argv)  {      (void)argc, (void)argv; +    if (!bm_init()) +        return EXIT_FAILURE; +      // TEST: Instance bmMenu with all possible draw modes.      { -        bmDrawMode i; -        for (i = 0; i < BM_DRAW_MODE_LAST; ++i) { -            if (i == BM_DRAW_MODE_CURSES && !isatty(STDIN_FILENO)) { +        uint32_t count; +        const struct bm_renderer **renderers = bm_get_renderers(&count); +        for (int32_t i = 0; i < count; ++i) { +            if (!strcmp(bm_renderer_get_name(renderers[i]), "curses") && !isatty(STDIN_FILENO)) {                  printf("Skipping test for mode BM_DRAW_MODE_CURSES, as not running on terminal.\n");                  continue;              } -            bmMenu *menu = bmMenuNew(i); +            struct bm_menu *menu = bm_menu_new(bm_renderer_get_name(renderers[i]));              assert(menu); -            bmMenuRender(menu); -            bmMenuFree(menu); +            bm_menu_render(menu); +            bm_menu_free(menu);          }      } diff --git a/test/bm_menu_new.c b/test/bm_menu_new.c new file mode 100644 index 0000000..ba9e20b --- /dev/null +++ b/test/bm_menu_new.c @@ -0,0 +1,35 @@ +#include <stdlib.h> +#include <unistd.h> +#include <stdio.h> +#include <string.h> +#include <assert.h> +#include <bemenu.h> + +int +main(int argc, char **argv) +{ +    (void)argc, (void)argv; + +    if (!bm_init()) +        return EXIT_FAILURE; + +    // TEST: Instance bmMenu with all possible draw modes. +    { +        uint32_t count; +        const struct bm_renderer **renderers = bm_get_renderers(&count); +        for (int32_t i = 0; i < count; ++i) { +            if (!strcmp(bm_renderer_get_name(renderers[i]), "curses") && !isatty(STDIN_FILENO)) { +                printf("Skipping test for mode BM_DRAW_MODE_CURSES, as not running on terminal.\n"); +                continue; +            } +            struct bm_menu *menu = bm_menu_new(bm_renderer_get_name(renderers[i])); +            assert(menu); +            bm_menu_render(menu); +            bm_menu_render(menu); +        } +    } + +    return EXIT_SUCCESS; +} + +/* vim: set ts=8 sw=4 tw=0 :*/  | 
