Add API method to retrieve buddy attributes. fixes #223

This commit is contained in:
JC Brand 2014-09-22 15:03:57 +02:00
parent 46400efa97
commit 8843910d52
2 changed files with 16 additions and 0 deletions

View File

@ -4621,6 +4621,12 @@
'initialize': function (settings, callback) {
converse.initialize(settings, callback);
},
'getBuddy': function (jid) {
var contact = converse.roster.get(Strophe.getBareJidFromJid(jid));
if (contact) {
return contact.attributes;
}
},
'getRID': function () {
if (converse.expose_rid_and_sid && typeof converse.connection !== "undefined") {
return converse.connection.rid || converse.connection._proto.rid;

View File

@ -43,5 +43,15 @@
// Restore the connection
converse.connection = old_connection;
}, converse));
it("has an API method for retrieving a buddy's attributes", $.proxy(function () {
var jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
expect(converse_api.getBuddy(jid)).toBeFalsy();
test_utils.createContacts('current');
var attrs = converse_api.getBuddy(jid);
expect(typeof attrs).toBe('object');
expect(attrs.fullname).toBe(mock.cur_names[0]);
expect(attrs.jid).toBe(jid);
}, converse));
}, converse, mock, test_utils));
}));