Added test for /join with nick option

This commit is contained in:
James Booth
2014-03-08 21:10:23 +00:00
parent e9b5d3294b
commit dd1ee18c72
13 changed files with 77 additions and 436 deletions

View File

@@ -1659,9 +1659,9 @@ cmd_join(gchar **args, struct cmd_help_t help)
Jid *room_jid = jid_create_from_bare_and_resource(room, nick);
if (!muc_room_is_active(room_jid)) {
presence_join_room(room_jid, passwd);
presence_join_room(room, nick, passwd);
}
ui_room_join(room_jid);
ui_room_join(room);
muc_remove_invite(room);
jid_destroy(room_arg);

View File

@@ -1083,14 +1083,14 @@ _ui_outgoing_msg(const char * const from, const char * const to,
}
static void
_ui_room_join(Jid *jid)
_ui_room_join(char *room)
{
ProfWin *window = wins_get_by_recipient(jid->barejid);
ProfWin *window = wins_get_by_recipient(room);
int num = 0;
// create new window
if (window == NULL) {
window = wins_new(jid->barejid, WIN_MUC);
window = wins_new(room, WIN_MUC);
}
num = wins_get_num(window);

View File

@@ -103,7 +103,7 @@ void (*ui_disconnected)(void);
void (*ui_recipient_gone)(const char * const barejid);
void (*ui_outgoing_msg)(const char * const from, const char * const to,
const char * const message);
void (*ui_room_join)(Jid *jid);
void (*ui_room_join)(char *room);
void (*ui_room_roster)(const char * const room, GList *roster, const char * const presence);
void (*ui_room_history)(const char * const room_jid, const char * const nick,
GTimeVal tv_stamp, const char * const message);

View File

@@ -301,9 +301,9 @@ _bookmark_handle_result(xmpp_conn_t * const conn,
log_debug("Autojoin %s with nick=%s", jid, name);
room_jid = jid_create_from_bare_and_resource(jid, name);
if (!muc_room_is_active(room_jid)) {
presence_join_room(room_jid, NULL);
presence_join_room(jid, name, NULL);
/* TODO: this should be removed after fixing #195 */
ui_room_join(room_jid);
ui_room_join(jid);
}
jid_destroy(room_jid);
} else {

View File

@@ -260,10 +260,9 @@ _send_room_presence(xmpp_conn_t *conn, xmpp_stanza_t *presence)
}
static void
_presence_join_room(Jid *jid, char * passwd)
_presence_join_room(char *room, char *nick, char * passwd)
{
assert(jid != NULL);
assert(jid->fulljid != NULL);
Jid *jid = jid_create_from_bare_and_resource(room, nick);
log_debug("Sending room join presence to: %s", jid->fulljid);
xmpp_ctx_t *ctx = connection_get_ctx();
@@ -285,6 +284,7 @@ _presence_join_room(Jid *jid, char * passwd)
xmpp_stanza_release(presence);
muc_join_room(jid->barejid, jid->resourcepart);
jid_destroy(jid);
}
static void

View File

@@ -114,7 +114,7 @@ GSList* (*presence_get_subscription_requests)(void);
gint (*presence_sub_request_count)(void);
void (*presence_reset_sub_request_search)(void);
char * (*presence_sub_request_find)(char * search_str);
void (*presence_join_room)(Jid *jid, char * passwd);
void (*presence_join_room)(char *room, char *nick, char * passwd);
void (*presence_change_room_nick)(const char * const room, const char * const nick);
void (*presence_leave_chat_room)(const char * const room_jid);
void (*presence_update)(resource_presence_t status, const char * const msg,