/pidgin/main: a265dfe49fcb: Add a header file with some utils fo...
Gary Kramlich <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: a265dfe49fcb71e7a8a5d04bedcafbe6b2a96dd5 Author: Gary Kramlich <[email protected]> Date: 2016-03-20 15:59 -0500 Branch: default URL: https://hg.pidgin.im/pidgin/main/rev/a265dfe49fcb Description: Add a header file with some utils for testing diffstat: libpurple/protocols/jabber/tests/test_jabber_jutil.c | 45 ++----------- libpurple/tests.h | 64 ++++++++++++++++++++ 2 files changed, 73 insertions(+), 36 deletions(-) diffs (168 lines): diff --git a/libpurple/protocols/jabber/tests/test_jabber_jutil.c b/libpurple/protocols/jabber/tests/test_jabber_jutil.c --- a/libpurple/protocols/jabber/tests/test_jabber_jutil.c +++ b/libpurple/protocols/jabber/tests/test_jabber_jutil.c @@ -5,38 +5,11 @@ #include "xmlnode.h" #include "protocols/jabber/jutil.h" -typedef struct { - const gchar *input; - const gchar *output; -} TestStringData; - -typedef const gchar *(*test_string_func)(const gchar *); -typedef gchar *(*test_string_free_func)(const gchar *); - -static void -_test_string_compare_func(TestStringData data[], test_string_func func) { - gint i; - - for(i = 0; data[i].input; i++) - g_assert_cmpstr(data[i].output, ==, func(data[i].input)); -} - -static void -_test_string_compare_func_free(TestStringData data[], test_string_free_func func) { - gint i; - - for(i = 0; data[i].input; i++) { - gchar *got = func(data[i].input); - - g_assert_cmpstr(data[i].output, ==, got); - - g_free(got); - } -} +#include "tests.h" static void test_jabber_util_get_resource_exists(void) { - TestStringData data[] = { + PurpleTestStringData data[] = { { "foo@bar/baz", "baz" }, { "bar/baz", "baz" }, { "foo@bar/baz/bat", "baz/bat" }, @@ -44,23 +17,23 @@ test_jabber_util_get_resource_exists(voi { NULL, NULL }, }; - _test_string_compare_func_free(data, jabber_get_resource); + purple_test_string_compare_free(jabber_get_resource, data); } static void test_jabber_util_get_resource_none(void) { - TestStringData data[] = { + PurpleTestStringData data[] = { { "foo@bar", NULL }, { "bar", NULL }, { NULL, NULL }, }; - _test_string_compare_func_free(data, jabber_get_resource); + purple_test_string_compare_free(jabber_get_resource, data); } static void test_jabber_util_get_bare_jid(void) { - TestStringData data[] = { + PurpleTestStringData data[] = { { "foo@bar", "foo@bar" }, { "foo@bar/baz", "foo@bar" }, { "bar", "bar" }, @@ -68,7 +41,7 @@ test_jabber_util_get_bare_jid(void) { { NULL, NULL }, }; - _test_string_compare_func_free(data, jabber_get_bare_jid); + purple_test_string_compare_free(jabber_get_bare_jid, data); } static void @@ -243,7 +216,7 @@ partial_jabber_normalize(const gchar *st static void test_jabber_util_jabber_normalize(void) { - TestStringData data[] = { + PurpleTestStringData data[] = { { "[email protected]", "[email protected]", @@ -259,7 +232,7 @@ test_jabber_util_jabber_normalize(void) } }; - _test_string_compare_func(data, partial_jabber_normalize); + purple_test_string_compare(partial_jabber_normalize, data); } gint diff --git a/libpurple/tests.h b/libpurple/tests.h new file mode 100644 --- /dev/null +++ b/libpurple/tests.h @@ -0,0 +1,64 @@ +/* purple + * + * Purple is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the COPYRIGHT file distributed with this + * source distribution. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA + */ +#ifndef PURPLE_TESTS_H +#define PURPLE_TESTS_H + +#include <glib.h> + +G_BEGIN_DECLS + +typedef struct { + const gchar *input; + const gchar *output; +} PurpleTestStringData; + +typedef const gchar *(*PurpleTestStringFunc)(const gchar *); +typedef gchar *(*PurpleTestStringFreeFunc)(const gchar *); + +inline void +purple_test_string_compare(PurpleTestStringFunc func, + PurpleTestStringData data[]) +{ + gint i; + + for(i = 0; data[i].input; i++) + g_assert_cmpstr(data[i].output, ==, func(data[i].input)); +} + +inline void +purple_test_string_compare_free(PurpleTestStringFreeFunc func, + PurpleTestStringData data[]) +{ + gint i; + + for(i = 0; data[i].input; i++) { + gchar *got = func(data[i].input); + + g_assert_cmpstr(data[i].output, ==, got); + + g_free(got); + } +} + + +G_END_DECLS + +#endif /* PURPLE_TESTS_H */ _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits