mirror of
https://github.com/profanity-im/profanity.git
synced 2024-10-13 20:13:38 -04:00
Added tests for contact type
This commit is contained in:
parent
c7cc27351f
commit
d15751649c
@ -66,6 +66,7 @@ test_sources = \
|
||||
tests/log/mock_log.c \
|
||||
tests/test_autocomplete.c \
|
||||
tests/test_common.c \
|
||||
tests/test_contact.c \
|
||||
tests/test_cmd_connect.c \
|
||||
tests/test_cmd_account.c \
|
||||
tests/test_cmd_rooms.c \
|
||||
|
102
tests/test_contact.c
Normal file
102
tests/test_contact.c
Normal file
@ -0,0 +1,102 @@
|
||||
#include <glib.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <stddef.h>
|
||||
#include <setjmp.h>
|
||||
#include <cmocka.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "contact.h"
|
||||
|
||||
void contact_in_group(void **state)
|
||||
{
|
||||
GSList *groups = NULL;
|
||||
groups = g_slist_append(groups, strdup("somegroup"));
|
||||
PContact contact = p_contact_new("bob@server.com", "bob", groups, "both",
|
||||
"is offline", FALSE);
|
||||
|
||||
gboolean result = p_contact_in_group(contact, "somegroup");
|
||||
|
||||
assert_true(result);
|
||||
|
||||
p_contact_free(contact);
|
||||
g_slist_free(groups);
|
||||
}
|
||||
|
||||
void contact_not_in_group(void **state)
|
||||
{
|
||||
GSList *groups = NULL;
|
||||
groups = g_slist_append(groups, strdup("somegroup"));
|
||||
PContact contact = p_contact_new("bob@server.com", "bob", groups, "both",
|
||||
"is offline", FALSE);
|
||||
|
||||
gboolean result = p_contact_in_group(contact, "othergroup");
|
||||
|
||||
assert_false(result);
|
||||
|
||||
p_contact_free(contact);
|
||||
g_slist_free(groups);
|
||||
}
|
||||
|
||||
void contact_name_when_name_exists(void **state)
|
||||
{
|
||||
PContact contact = p_contact_new("bob@server.com", "bob", NULL, "both",
|
||||
"is offline", FALSE);
|
||||
|
||||
const char *name = p_contact_name_or_jid(contact);
|
||||
|
||||
assert_string_equal("bob", name);
|
||||
|
||||
p_contact_free(contact);
|
||||
}
|
||||
|
||||
void contact_jid_when_name_not_exists(void **state)
|
||||
{
|
||||
PContact contact = p_contact_new("bob@server.com", NULL, NULL, "both",
|
||||
"is offline", FALSE);
|
||||
|
||||
const char *jid = p_contact_name_or_jid(contact);
|
||||
|
||||
assert_string_equal("bob@server.com", jid);
|
||||
|
||||
p_contact_free(contact);
|
||||
}
|
||||
|
||||
void contact_string_when_name_exists(void **state)
|
||||
{
|
||||
PContact contact = p_contact_new("bob@server.com", "bob", NULL, "both",
|
||||
"is offline", FALSE);
|
||||
|
||||
char *str = p_contact_create_display_string(contact, "laptop");
|
||||
|
||||
assert_string_equal("bob (laptop)", str);
|
||||
|
||||
p_contact_free(contact);
|
||||
free(str);
|
||||
}
|
||||
|
||||
void contact_string_when_name_not_exists(void **state)
|
||||
{
|
||||
PContact contact = p_contact_new("bob@server.com", NULL, NULL, "both",
|
||||
"is offline", FALSE);
|
||||
|
||||
char *str = p_contact_create_display_string(contact, "laptop");
|
||||
|
||||
assert_string_equal("bob@server.com (laptop)", str);
|
||||
|
||||
p_contact_free(contact);
|
||||
free(str);
|
||||
}
|
||||
|
||||
void contact_string_when_default_resource(void **state)
|
||||
{
|
||||
PContact contact = p_contact_new("bob@server.com", "bob", NULL, "both",
|
||||
"is offline", FALSE);
|
||||
|
||||
char *str = p_contact_create_display_string(contact, "__prof_default");
|
||||
|
||||
assert_string_equal("bob", str);
|
||||
|
||||
p_contact_free(contact);
|
||||
free(str);
|
||||
}
|
7
tests/test_contact.h
Normal file
7
tests/test_contact.h
Normal file
@ -0,0 +1,7 @@
|
||||
void contact_in_group(void **state);
|
||||
void contact_not_in_group(void **state);
|
||||
void contact_name_when_name_exists(void **state);
|
||||
void contact_jid_when_name_not_exists(void **state);
|
||||
void contact_string_when_name_exists(void **state);
|
||||
void contact_string_when_name_not_exists(void **state);
|
||||
void contact_string_when_default_resource(void **state);
|
@ -5,6 +5,7 @@
|
||||
|
||||
#include "test_autocomplete.h"
|
||||
#include "test_common.h"
|
||||
#include "test_contact.h"
|
||||
#include "test_cmd_connect.h"
|
||||
#include "test_cmd_account.h"
|
||||
#include "test_cmd_rooms.h"
|
||||
@ -257,6 +258,13 @@ int main(int argc, char* argv[]) {
|
||||
unit_test(cmd_sub_shows_message_when_not_connected),
|
||||
unit_test(cmd_sub_shows_usage_when_no_arg),
|
||||
|
||||
unit_test(contact_in_group),
|
||||
unit_test(contact_not_in_group),
|
||||
unit_test(contact_name_when_name_exists),
|
||||
unit_test(contact_jid_when_name_not_exists),
|
||||
unit_test(contact_string_when_name_exists),
|
||||
unit_test(contact_string_when_name_not_exists),
|
||||
unit_test(contact_string_when_default_resource),
|
||||
};
|
||||
return run_tests(tests);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user