2014-10-24 18:58:42 +02:00
|
|
|
(function (root, factory) {
|
|
|
|
define([
|
|
|
|
"jquery",
|
|
|
|
"mock",
|
|
|
|
"test_utils"
|
|
|
|
], function ($, mock, test_utils) {
|
|
|
|
return factory($, mock, test_utils);
|
|
|
|
}
|
|
|
|
);
|
|
|
|
} (this, function ($, mock, test_utils) {
|
|
|
|
describe("Profiling", function() {
|
|
|
|
beforeEach(function() {
|
2014-10-26 17:12:59 +01:00
|
|
|
converse.connection.roster.items = [];
|
2014-10-24 18:58:42 +02:00
|
|
|
converse.connection._changeConnectStatus(Strophe.Status.CONNECTED);
|
|
|
|
});
|
|
|
|
|
2014-10-27 23:06:11 +01:00
|
|
|
xit("adds hundreds of contacts to the roster", $.proxy(function() {
|
2014-10-26 17:12:59 +01:00
|
|
|
converse.roster_groups = false;
|
|
|
|
spyOn(this.roster, 'clearCache').andCallThrough();
|
|
|
|
expect(this.roster.pluck('jid').length).toBe(0);
|
|
|
|
var stanza = $iq({
|
|
|
|
to: this.connection.jid,
|
|
|
|
type: 'result',
|
|
|
|
id: 'roster_1'
|
|
|
|
}).c('query', {
|
|
|
|
xmlns: 'jabber:iq:roster'
|
|
|
|
});
|
|
|
|
_.each(['Friends', 'Colleagues', 'Family', 'Acquaintances'], function (group) {
|
|
|
|
var i;
|
|
|
|
for (i=0; i<100; i++) {
|
|
|
|
stanza = stanza.c('item', {
|
|
|
|
jid: Math.random().toString().replace('0.', '')+'@example.net',
|
|
|
|
subscription:'both'
|
|
|
|
}).c('group').t(group).up().up();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
this.connection.roster._onReceiveRosterSuccess(null, stanza.tree());
|
|
|
|
expect(this.roster.clearCache).toHaveBeenCalled();
|
|
|
|
expect(this.roster.pluck('jid').length).toBe(400);
|
2014-10-24 22:24:05 +02:00
|
|
|
}, converse));
|
|
|
|
|
2014-10-27 23:06:11 +01:00
|
|
|
xit("adds hundreds of contacts to the roster, with roster groups", $.proxy(function() {
|
2014-10-26 23:10:43 +01:00
|
|
|
// converse.show_only_online_users = true;
|
2014-10-24 22:24:05 +02:00
|
|
|
converse.roster_groups = true;
|
2014-10-24 18:58:42 +02:00
|
|
|
spyOn(this.roster, 'clearCache').andCallThrough();
|
|
|
|
expect(this.roster.pluck('jid').length).toBe(0);
|
2014-10-24 22:24:05 +02:00
|
|
|
var stanza = $iq({
|
2014-10-24 18:58:42 +02:00
|
|
|
to: this.connection.jid,
|
|
|
|
type: 'result',
|
|
|
|
id: 'roster_1'
|
|
|
|
}).c('query', {
|
2014-10-24 22:24:05 +02:00
|
|
|
xmlns: 'jabber:iq:roster'
|
|
|
|
});
|
|
|
|
_.each(['Friends', 'Colleagues', 'Family', 'Acquaintances'], function (group) {
|
2014-10-25 12:33:08 +02:00
|
|
|
var i;
|
2014-10-26 23:11:58 +01:00
|
|
|
for (i=0; i<100; i++) {
|
2014-10-24 22:24:05 +02:00
|
|
|
stanza = stanza.c('item', {
|
2014-10-25 12:33:08 +02:00
|
|
|
jid: Math.random().toString().replace('0.', '')+'@example.net',
|
2014-10-24 22:24:05 +02:00
|
|
|
subscription:'both'
|
2014-10-25 12:33:08 +02:00
|
|
|
}).c('group').t(group).up().up();
|
2014-10-24 22:24:05 +02:00
|
|
|
}
|
|
|
|
});
|
2014-10-24 18:58:42 +02:00
|
|
|
this.connection.roster._onReceiveRosterSuccess(null, stanza.tree());
|
|
|
|
expect(this.roster.clearCache).toHaveBeenCalled();
|
2014-10-26 23:10:43 +01:00
|
|
|
//expect(this.roster.pluck('jid').length).toBe(400);
|
2014-10-24 22:24:05 +02:00
|
|
|
}, converse));
|
|
|
|
|
|
|
|
it("contacts in a very large roster change their statuses", $.proxy(function() {
|
2014-10-24 18:58:42 +02:00
|
|
|
}, converse));
|
|
|
|
});
|
|
|
|
}));
|