diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | lib/bemenu.h | 6 | ||||
-rw-r--r-- | test/CMakeLists.txt | 18 | ||||
-rw-r--r-- | test/bmMenuNew.c | 23 |
4 files changed, 45 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index db0851d..65e2b3b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(bemenu) +INCLUDE(CTest) SET(BEMENU_NAME "bemenu") SET(BEMENU_DESCRIPTION "Dynamic menu library and client program inspired by dmenu") SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${chck_SOURCE_DIR}/CMake/modules) diff --git a/lib/bemenu.h b/lib/bemenu.h index f4823b4..3fdfb0b 100644 --- a/lib/bemenu.h +++ b/lib/bemenu.h @@ -6,9 +6,13 @@ /** * Draw mode constants for setting bmMenu instance draw mode. + * + * BM_DRAW_MODE_LAST is provided for enumerating draw modes. + * Instancing with it however provides exactly same functionality as BM_DRAW_MODE_NONE. */ typedef enum bmDrawMode { - BM_DRAW_MODE_NONE + BM_DRAW_MODE_NONE, + BM_DRAW_MODE_LAST } bmDrawMode; typedef struct _bmMenu bmMenu; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8da6d4a..f9d13a5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,19 @@ -INCLUDE(CTest) +SET(TESTS + "bmMenuNew" + ) -# TODO: write test CMakeLists +INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/../lib") +FOREACH (test ${TESTS}) + ADD_EXECUTABLE(${test}_test ${test}.c) + TARGET_LINK_LIBRARIES(${test}_test bemenu) + + IF (WIN32) + ADD_TEST(${test}_test ${test}_test.exe) + ELSE () + ADD_TEST(${test}_test ${test}_test) + ENDIF () +ENDFOREACH (test) + +MESSAGE("-!- Use 'make test' to run tests") # vim: set ts=8 sw=4 tw=0 : diff --git a/test/bmMenuNew.c b/test/bmMenuNew.c new file mode 100644 index 0000000..f133584 --- /dev/null +++ b/test/bmMenuNew.c @@ -0,0 +1,23 @@ +#include <stdlib.h> +#include <bemenu.h> +#include <assert.h> + +int main(int argc, char **argv) +{ + (void)argc, (void)argv; + + // TEST: Instance bmMenu with all possible draw modes. + { + bmDrawMode i; + for (i = 0; i < BM_DRAW_MODE_LAST; ++i) { + bmMenu *menu = bmMenuNew(BM_DRAW_MODE_NONE); + assert(menu != NULL); + bmMenuRender(menu); + bmMenuFree(menu); + } + } + + return EXIT_SUCCESS; +} + +/* vim: set ts=8 sw=4 tw=0 :*/ |