summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Doliner <markdoliner@pidgin.im>2011-02-14 03:10:09 +0000
committerMark Doliner <markdoliner@pidgin.im>2011-02-14 03:10:09 +0000
commit9893adc3f4df57a40f0ef16c5395b3c0ca4aba97 (patch)
tree85c21ab982aaefad6982c820a4ceeac88973cf78
parente819e9686278ea91a3a36e0f2a7dad4c53d5ec16 (diff)
downloadpidgin-9893adc3f4df57a40f0ef16c5395b3c0ca4aba97.tar.gz
Add unit tests for oscar_util_name_compare. I suspected that this
function missed a few cases, but I was wrong, it's good. I used ck_assert_int_eq and ck_assert_ne, which look like they might be newer API. If that causes a problem we can change them to fail_if and fail_unless
-rw-r--r--libpurple/tests/Makefile.am2
-rw-r--r--libpurple/tests/check_libpurple.c1
-rw-r--r--libpurple/tests/test_oscar_util.c47
-rw-r--r--libpurple/tests/tests.h1
4 files changed, 51 insertions, 0 deletions
diff --git a/libpurple/tests/Makefile.am b/libpurple/tests/Makefile.am
index e32700ee4f..936bbfc383 100644
--- a/libpurple/tests/Makefile.am
+++ b/libpurple/tests/Makefile.am
@@ -14,6 +14,7 @@ check_libpurple_SOURCES=\
test_jabber_digest_md5.c \
test_jabber_jutil.c \
test_jabber_scram.c \
+ test_oscar_util.c \
test_qq.c \
test_yahoo_util.c \
test_util.c \
@@ -30,6 +31,7 @@ check_libpurple_CFLAGS=\
check_libpurple_LDADD=\
$(top_builddir)/libpurple/protocols/jabber/libjabber.la \
+ $(top_builddir)/libpurple/protocols/oscar/liboscar.la \
$(top_builddir)/libpurple/protocols/qq/libqq_tmp.la \
$(top_builddir)/libpurple/protocols/yahoo/libymsg.la \
$(top_builddir)/libpurple/libpurple.la \
diff --git a/libpurple/tests/check_libpurple.c b/libpurple/tests/check_libpurple.c
index a4993383e3..c6ba13c05d 100644
--- a/libpurple/tests/check_libpurple.c
+++ b/libpurple/tests/check_libpurple.c
@@ -88,6 +88,7 @@ int main(void)
srunner_add_suite(sr, jabber_digest_md5_suite());
srunner_add_suite(sr, jabber_jutil_suite());
srunner_add_suite(sr, jabber_scram_suite());
+ srunner_add_suite(sr, oscar_util_suite());
srunner_add_suite(sr, qq_suite());
srunner_add_suite(sr, yahoo_util_suite());
srunner_add_suite(sr, util_suite());
diff --git a/libpurple/tests/test_oscar_util.c b/libpurple/tests/test_oscar_util.c
new file mode 100644
index 0000000000..5f6ac1404c
--- /dev/null
+++ b/libpurple/tests/test_oscar_util.c
@@ -0,0 +1,47 @@
+#include <string.h>
+
+#include "tests.h"
+#include "../protocols/oscar/oscar.h"
+
+START_TEST(test_oscar_util_name_compare)
+{
+ int i;
+ const char *good[] = {
+ "test",
+ "TEST",
+ "Test",
+ "teSt",
+ " TesT",
+ "test ",
+ " T E s T "
+ };
+ const char *bad[] = {
+ "toast",
+ "test@example.com",
+ "test@aim.com"
+ };
+
+ for (i = 0; i < G_N_ELEMENTS(good); i++) {
+ ck_assert_int_eq(0, oscar_util_name_compare("test", good[i]));
+ ck_assert_int_eq(0, oscar_util_name_compare(good[i], "test"));
+ }
+ for (i = 0; i < G_N_ELEMENTS(bad); i++) {
+ ck_assert_int_ne(0, oscar_util_name_compare("test", bad[i]));
+ ck_assert_int_ne(0, oscar_util_name_compare(bad[i], "test"));
+ }
+}
+END_TEST
+
+Suite *oscar_util_suite(void)
+{
+ Suite *s;
+ TCase *tc;
+
+ s = suite_create("OSCAR Utility Functions");
+
+ tc = tcase_create("Convert IM from network format to HTML");
+ tcase_add_test(tc, test_oscar_util_name_compare);
+ suite_add_tcase(s, tc);
+
+ return s;
+}
diff --git a/libpurple/tests/tests.h b/libpurple/tests/tests.h
index 709f9c51f7..367ab39fd8 100644
--- a/libpurple/tests/tests.h
+++ b/libpurple/tests/tests.h
@@ -13,6 +13,7 @@ Suite * jabber_caps_suite(void);
Suite * jabber_digest_md5_suite(void);
Suite * jabber_jutil_suite(void);
Suite * jabber_scram_suite(void);
+Suite * oscar_util_suite(void);
Suite * qq_suite(void);
Suite * yahoo_util_suite(void);
Suite * util_suite(void);