diff --git a/.gitignore b/.gitignore index 4b2544a..32da06d 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ /src/bin/edi /src/bin/edi_build -/src/tests/edi_tests +/src/tests/edi_suite /data/desktop/edi.desktop /doc/edi.1 edi-*.tar.?z* @@ -60,6 +60,6 @@ po/remove-potcdate.sin po/stamp-po /coverage/ -/src/tests/edi_tests.* +/src/tests/edi_suite.* /src/tests/test-suite.log /src/tests/check-results.xml diff --git a/Makefile.am b/Makefile.am index e154782..822c51a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -73,7 +73,7 @@ endif if EFL_HAVE_TESTS -TESTS = src/tests/edi_tests +TESTS = src/tests/edi_suite lcov-check: if EFL_HAVE_LCOV diff --git a/src/bin/edi_consolepanel.c b/src/bin/edi_consolepanel.c index 311b2f1..a228890 100644 --- a/src/bin/edi_consolepanel.c +++ b/src/bin/edi_consolepanel.c @@ -13,11 +13,8 @@ static Evas_Object *_console_box; -static const char *_edi_consolepanel_icon_for_line(const char *line, Eina_Bool err) +static const char *_edi_consolepanel_icon_for_line(const char *line) { - if (!err) - return NULL; - if (strstr(line, " error:") != NULL) return "error"; if (strstr(line, " warning:") != NULL) @@ -31,7 +28,7 @@ static const char *_edi_consolepanel_icon_for_line(const char *line, Eina_Bool e static void _edi_consolepanel_append_line_type(const char *line, Eina_Bool err) { Evas_Object *txt, *icon, *box; - const char *type; + const char *type = NULL; txt = elm_label_add(_console_box); if (err) @@ -44,10 +41,14 @@ static void _edi_consolepanel_append_line_type(const char *line, Eina_Bool err) evas_object_size_hint_align_set(txt, 0.0, EVAS_HINT_FILL); evas_object_show(txt); + if (err) + type = _edi_consolepanel_icon_for_line(line); + icon = elm_icon_add(_console_box); evas_object_size_hint_min_set(icon, 14, 14); evas_object_size_hint_max_set(icon, 14, 14); - elm_icon_standard_set(icon, _edi_consolepanel_icon_for_line(line, err)); + if (type) + elm_icon_standard_set(icon, type); evas_object_show(icon); box = elm_box_add(_console_box); diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am index 9d9ef51..097c8be 100644 --- a/src/tests/Makefile.am +++ b/src/tests/Makefile.am @@ -1,17 +1,21 @@ if EFL_HAVE_TESTS -check_PROGRAMS = edi_tests +check_PROGRAMS = edi_suite -edi_tests_SOURCES = test_edi.c -edi_tests_CPPFLAGS = -I$(top_builddir)/src/lib/ \ +edi_suite_SOURCES = \ +edi_test_console.c \ +edi_suite.c + +edi_suite_CPPFLAGS = -I$(top_builddir)/src/lib/ -I$(top_builddir)/src/bin/ \ -DPACKAGE_TESTS_DIR=\"$(top_srcdir)/src/tests/\" \ -DPACKAGE_BUILD_DIR=\"`pwd`/$(top_builddir)/src/tests/\" \ @EFL_CFLAGS@ \ @CHECK_CFLAGS@ -edi_tests_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libedi.la -edi_tests_DEPENDENCIES = $(top_builddir)/src/lib/libedi.la + +edi_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libedi.la +edi_suite_DEPENDENCIES = $(top_builddir)/src/lib/libedi.la endif -EXTRA_DIST = test_edi.c +EXTRA_DIST = edi_suite.h diff --git a/src/tests/test_edi.c b/src/tests/edi_suite.c similarity index 92% rename from src/tests/test_edi.c rename to src/tests/edi_suite.c index 0820b4f..f38e422 100644 --- a/src/tests/test_edi.c +++ b/src/tests/edi_suite.c @@ -3,32 +3,35 @@ #endif #include -#include #include "Edi.h" +#include "edi_suite.h" #define COPYRIGHT "Copyright © 2014 Andy Williams and various contributors (see AUTHORS)." -static void edi_test_basic(TCase *tc); - static const struct { const char *name; void (*build)(TCase *tc); } tests[] = { - { "basic", edi_test_basic } + { "basic", edi_test_basic }, + { "console", edi_test_console } }; START_TEST(edi_initialization) { + const char *path; + fail_if(edi_init() != 1); - edi_library_call(); + path = "/tmp"; + edi_project_set(path); + ck_assert_str_eq(edi_project_get(), path); fail_if(edi_shutdown() != 0); } END_TEST -static void +void edi_test_basic(TCase *tc) { tcase_add_test(tc, edi_initialization); diff --git a/src/tests/edi_suite.h b/src/tests/edi_suite.h new file mode 100644 index 0000000..48a1da7 --- /dev/null +++ b/src/tests/edi_suite.h @@ -0,0 +1,11 @@ +#ifndef _EDI_SUITE_H +#define _EDI_SUITE_H + +#include + +#include + +void edi_test_basic(TCase *tc); +void edi_test_console(TCase *tc); + +#endif /* _EDI_SUITE_H */ diff --git a/src/tests/edi_test_console.c b/src/tests/edi_test_console.c new file mode 100644 index 0000000..8824c29 --- /dev/null +++ b/src/tests/edi_test_console.c @@ -0,0 +1,22 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "edi_suite.h" + +#include "edi_consolepanel.c" + +START_TEST (edi_console_icons) +{ + ck_assert_str_eq(_edi_consolepanel_icon_for_line(" line 5: error: testing"), "error"); + ck_assert_str_eq(_edi_consolepanel_icon_for_line(" line 5: fatal error: testing"), "error"); + ck_assert_str_eq(_edi_consolepanel_icon_for_line(" line 5: warning: testing"), "important"); + ck_assert_str_eq(_edi_consolepanel_icon_for_line(" line 5: note: testing"), "info"); +} +END_TEST + +void edi_test_console(TCase *tc) +{ + tcase_add_test(tc, edi_console_icons); +} +