From 06c8bde93fe4a4ae366cd69f8fb2745ce95cefb4 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Fri, 28 Mar 2014 21:59:34 +0200 Subject: Provide BM_DRAW_MODE_LAST for enumerating draw modes. --- lib/bemenu.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3-70-g09d2 From 17250cfd3f86784bbee2130b8ba3341ded2346b0 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Fri, 28 Mar 2014 22:00:23 +0200 Subject: Add tests. --- test/CMakeLists.txt | 16 ++++++++++++++-- test/bmMenuNew.c | 23 +++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 test/bmMenuNew.c diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8da6d4a..a70c749 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,17 @@ -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) # 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 +#include +#include + +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 :*/ -- cgit v1.2.3-70-g09d2 From db55c12128763672dda8b1a9d524e2e676a829d2 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Fri, 28 Mar 2014 22:00:28 +0200 Subject: INCLUDE(CTest) must be in root CMakeLists for 'make test' to work --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) 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) -- cgit v1.2.3-70-g09d2 From c4a8bf3631035890a5d3517bfa15f31e9b0492bf Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Fri, 28 Mar 2014 22:01:15 +0200 Subject: Add useful message for developer. --- test/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a70c749..f9d13a5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -14,4 +14,6 @@ FOREACH (test ${TESTS}) ENDIF () ENDFOREACH (test) +MESSAGE("-!- Use 'make test' to run tests") + # vim: set ts=8 sw=4 tw=0 : -- cgit v1.2.3-70-g09d2