parent
69de033cea
commit
27afd32aeb
49
spec/mam.js
49
spec/mam.js
@ -256,6 +256,55 @@
|
||||
);
|
||||
});
|
||||
|
||||
it("accepts a Strophe.RSM object for the query options", function () {
|
||||
// Normally the user wouldn't manually make a Strophe.RSM object
|
||||
// and pass it in. However, in the callback method an RSM object is
|
||||
// returned which can be reused for easy paging. This test is
|
||||
// more for that usecase.
|
||||
var sent_stanza, IQ_id;
|
||||
var sendIQ = converse.connection.sendIQ;
|
||||
spyOn(converse.connection, 'sendIQ').andCallFake(function (iq, callback, errback) {
|
||||
sent_stanza = iq;
|
||||
IQ_id = sendIQ.bind(this)(iq, callback, errback);
|
||||
});
|
||||
if (!converse.features.findWhere({'var': Strophe.NS.MAM})) {
|
||||
converse.features.create({'var': Strophe.NS.MAM});
|
||||
}
|
||||
// Mock the browser's method for returning the timezone
|
||||
var getTimezoneOffset = Date.prototype.getTimezoneOffset;
|
||||
Date.prototype.getTimezoneOffset = function () {
|
||||
return -120;
|
||||
};
|
||||
var rsm = new Strophe.RSM({'max': '10'});
|
||||
rsm['with'] = 'romeo@montague.lit';
|
||||
rsm.start = '2010-06-07T00:00:00Z';
|
||||
converse_api.archive.query(rsm);
|
||||
|
||||
var queryid = $(sent_stanza.toString()).find('query').attr('queryid');
|
||||
expect(sent_stanza.toString()).toBe(
|
||||
"<iq type='set' xmlns='jabber:client' id='"+IQ_id+"'>"+
|
||||
"<query xmlns='urn:xmpp:mam:0' queryid='"+queryid+"'>"+
|
||||
"<x xmlns='jabber:x:data'>"+
|
||||
"<field var='FORM_TYPE'>"+
|
||||
"<value>urn:xmpp:mam:0</value>"+
|
||||
"</field>"+
|
||||
"<field var='with'>"+
|
||||
"<value>romeo@montague.lit</value>"+
|
||||
"</field>"+
|
||||
"<field var='start'>"+
|
||||
"<value>2010-06-07T02:00:00+02:00</value>"+
|
||||
"</field>"+
|
||||
"</x>"+
|
||||
"<set xmlns='http://jabber.org/protocol/rsm'>"+
|
||||
"<max>10</max>"+
|
||||
"</set>"+
|
||||
"</query>"+
|
||||
"</iq>"
|
||||
);
|
||||
// Restore
|
||||
Date.prototype.getTimezoneOffset = getTimezoneOffset;
|
||||
});
|
||||
|
||||
}, converse, mock, test_utils));
|
||||
|
||||
describe("The default preference", $.proxy(function (mock, test_utils) {
|
||||
|
Loading…
Reference in New Issue
Block a user