Add some more testing too

This commit is contained in:
Andy Williams 2014-04-27 22:31:19 +01:00
parent 6a61c633b9
commit 70b2d3144f
7 changed files with 62 additions and 21 deletions

4
.gitignore vendored
View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -3,32 +3,35 @@
#endif
#include <Ecore_Getopt.h>
#include <check.h>
#include "Edi.h"
#include "edi_suite.h"
#define COPYRIGHT "Copyright © 2014 Andy Williams <andy@andyilliams.me> 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);

11
src/tests/edi_suite.h Normal file
View File

@ -0,0 +1,11 @@
#ifndef _EDI_SUITE_H
#define _EDI_SUITE_H
#include <check.h>
#include <Edi.h>
void edi_test_basic(TCase *tc);
void edi_test_console(TCase *tc);
#endif /* _EDI_SUITE_H */

View File

@ -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);
}