presence.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. (function (root, factory) {
  2. define([
  3. "jquery",
  4. "converse-core",
  5. "mock",
  6. "test_utils"], factory);
  7. } (this, function ($, converse, mock, test_utils) {
  8. "use strict";
  9. var Strophe = converse.env.Strophe;
  10. var $iq = converse.env.$iq;
  11. var $pres = converse.env.$pres;
  12. // See: https://xmpp.org/rfcs/rfc3921.html
  13. describe("A received presence stanza", function () {
  14. it("has its priority taken into account", mock.initConverse(function (_converse) {
  15. test_utils.openControlBox();
  16. test_utils.createContacts(_converse, 'current'); // Create some contacts so that we can test positioning
  17. var contact_jid = mock.cur_names[8].replace(/ /g,'.').toLowerCase() + '@localhost';
  18. var stanza = $(
  19. '<presence xmlns="jabber:client"'+
  20. ' to="dummy@localhost/converse.js-21770972"'+
  21. ' from="'+contact_jid+'/c71f218b-0797-4732-8a88-b42cb1d8557a">'+
  22. ' <priority>1</priority>'+
  23. ' <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" ext="voice-v1 camera-v1 video-v1"'+
  24. ' ver="AcN1/PEN8nq7AHD+9jpxMV4U6YM=" node="http://pidgin.im/"/>'+
  25. ' <x xmlns="vcard-temp:x:update">'+
  26. ' <photo>ce51d94f7f22b87a21274abb93710b9eb7cc1c65</photo>'+
  27. ' </x>'+
  28. ' <delay xmlns="urn:xmpp:delay" stamp="2017-02-15T20:26:05Z" from="jabbim.hu"/>'+
  29. '</presence>');
  30. _converse.connection._dataRecv(test_utils.createRequest(stanza[0]));
  31. expect(_converse.roster.get(contact_jid).get('chat_status')).toBe('online');
  32. stanza = $(
  33. '<presence xmlns="jabber:client"'+
  34. ' id="tYRdj-35"'+
  35. ' to="dummy@localhost/converse.js-21770972"'+
  36. ' from="'+contact_jid+'/androidkhydmcKW">'+
  37. ' <status/>'+
  38. ' <priority>0</priority>'+
  39. ' <show>xa</show>'+
  40. ' <c xmlns="http://jabber.org/protocol/caps" ver="GyIX/Kpa4ScVmsZCxRBboJlLAYU=" hash="sha-1"'+
  41. ' node="http://www.igniterealtime.org/projects/smack/"/>'+
  42. ' <delay xmlns="urn:xmpp:delay" stamp="2017-02-15T17:02:24Z" from="jabbim.hu"/>'+
  43. '</presence>');
  44. _converse.connection._dataRecv(test_utils.createRequest(stanza[0]));
  45. expect(_converse.roster.get(contact_jid).get('chat_status')).toBe('online');
  46. }));
  47. });
  48. }));