Add nickname support for /roster remove
Add support of name/nickname instead of only JID for `/roster remove` command. Add tests for it as well.
This commit is contained in:
@@ -83,6 +83,7 @@ int main(int argc, char* argv[]) {
|
||||
PROF_FUNC_TEST(sends_new_item),
|
||||
PROF_FUNC_TEST(sends_new_item_nick),
|
||||
PROF_FUNC_TEST(sends_remove_item),
|
||||
PROF_FUNC_TEST(sends_remove_item_nick),
|
||||
PROF_FUNC_TEST(sends_nick_change),
|
||||
|
||||
PROF_FUNC_TEST(send_software_version_request),
|
||||
|
||||
@@ -92,6 +92,35 @@ sends_remove_item(void **state)
|
||||
assert_true(prof_output_exact("Roster item removed: buddy1@localhost"));
|
||||
}
|
||||
|
||||
void
|
||||
sends_remove_item_nick(void **state)
|
||||
{
|
||||
prof_connect_with_roster(
|
||||
"<item jid='buddy1@localhost' name='Bobby' subscription='both'/>"
|
||||
"<item jid='buddy2@localhost' subscription='both'/>"
|
||||
);
|
||||
|
||||
stbbr_for_query("jabber:iq:roster",
|
||||
"<iq id='*' type='set'>"
|
||||
"<query xmlns='jabber:iq:roster'>"
|
||||
"<item jid='buddy1@localhost' subscription='remove'/>"
|
||||
"</query>"
|
||||
"</iq>"
|
||||
);
|
||||
|
||||
prof_input("/roster remove Bobby");
|
||||
|
||||
assert_true(stbbr_received(
|
||||
"<iq type='set' id='*'>"
|
||||
"<query xmlns='jabber:iq:roster'>"
|
||||
"<item jid='buddy1@localhost' subscription='remove'/>"
|
||||
"</query>"
|
||||
"</iq>"
|
||||
));
|
||||
|
||||
assert_true(prof_output_exact("Roster item removed: buddy1@localhost"));
|
||||
}
|
||||
|
||||
void
|
||||
sends_nick_change(void **state)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
void sends_new_item(void **state);
|
||||
void sends_new_item_nick(void **state);
|
||||
void sends_remove_item(void **state);
|
||||
void sends_remove_item_nick(void **state);
|
||||
void sends_nick_change(void **state);
|
||||
|
||||
@@ -114,12 +114,34 @@ cmd_roster_remove_sends_roster_remove_request(void** state)
|
||||
char* jid = "bob@server.org";
|
||||
gchar* args[] = { "remove", jid, NULL };
|
||||
|
||||
roster_create();
|
||||
roster_add("bob@server.org", "bob", NULL, "both", FALSE);
|
||||
|
||||
will_return(connection_get_status, JABBER_CONNECTED);
|
||||
|
||||
expect_string(roster_send_remove, barejid, jid);
|
||||
|
||||
gboolean result = cmd_roster(NULL, CMD_ROSTER, args);
|
||||
assert_true(result);
|
||||
roster_destroy();
|
||||
}
|
||||
|
||||
void
|
||||
cmd_roster_remove_nickname_sends_roster_remove_request(void** state)
|
||||
{
|
||||
char* jid = "bob@server.org";
|
||||
gchar* args[] = { "remove", "bob", NULL };
|
||||
|
||||
roster_create();
|
||||
roster_add("bob@server.org", "bob", NULL, "both", FALSE);
|
||||
|
||||
will_return(connection_get_status, JABBER_CONNECTED);
|
||||
|
||||
expect_string(roster_send_remove, barejid, jid);
|
||||
|
||||
gboolean result = cmd_roster(NULL, CMD_ROSTER, args);
|
||||
assert_true(result);
|
||||
roster_destroy();
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -7,6 +7,7 @@ void cmd_roster_add_shows_message_when_no_jid(void** state);
|
||||
void cmd_roster_add_sends_roster_add_request(void** state);
|
||||
void cmd_roster_remove_shows_message_when_no_jid(void** state);
|
||||
void cmd_roster_remove_sends_roster_remove_request(void** state);
|
||||
void cmd_roster_remove_nickname_sends_roster_remove_request(void** state);
|
||||
void cmd_roster_nick_shows_message_when_no_jid(void** state);
|
||||
void cmd_roster_nick_shows_message_when_no_nick(void** state);
|
||||
void cmd_roster_nick_shows_message_when_no_contact_exists(void** state);
|
||||
|
||||
@@ -584,6 +584,7 @@ main(int argc, char* argv[])
|
||||
unit_test(cmd_roster_add_sends_roster_add_request),
|
||||
unit_test(cmd_roster_remove_shows_message_when_no_jid),
|
||||
unit_test(cmd_roster_remove_sends_roster_remove_request),
|
||||
unit_test(cmd_roster_remove_nickname_sends_roster_remove_request),
|
||||
unit_test(cmd_roster_nick_shows_message_when_no_jid),
|
||||
unit_test(cmd_roster_nick_shows_message_when_no_nick),
|
||||
unit_test(cmd_roster_nick_shows_message_when_no_contact_exists),
|
||||
|
||||
Reference in New Issue
Block a user