|
23 | 23 | test_utils.openControlBox();
|
24 | 24 | const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
25 | 25 | await test_utils.openChatBoxFor(_converse, contact_jid);
|
26 |
| - const view = _converse.chatboxviews.get(contact_jid); |
| 26 | + const view = _converse.api.chatviews.get(contact_jid); |
27 | 27 | const textarea = view.el.querySelector('textarea.chat-textarea');
|
28 | 28 |
|
29 | 29 | textarea.value = 'But soft, what light through yonder airlock breaks?';
|
|
314 | 314 | .tree();
|
315 | 315 | await _converse.chatboxes.onMessage(msg);
|
316 | 316 | await test_utils.waitUntil(() => _converse.api.chats.get().length);
|
317 |
| - const view = _converse.chatboxviews.get(sender_jid); |
| 317 | + const view = _converse.api.chatviews.get(sender_jid); |
| 318 | + |
318 | 319 | msg = $msg({'id': 'aeb214', 'to': _converse.bare_jid})
|
319 | 320 | .c('forwarded', {'xmlns': 'urn:xmpp:forward:0'})
|
320 | 321 | .c('delay', {'xmlns': 'urn:xmpp:delay', 'stamp':'2017-12-31T22:08:25Z'}).up()
|
|
523 | 524 | 'type': 'chat'
|
524 | 525 | }).c('body').t(msgtext).tree();
|
525 | 526 | await _converse.chatboxes.onMessage(msg);
|
526 |
| - await test_utils.waitUntil(() => _converse.api.chats.get().length) |
| 527 | + await test_utils.waitUntil(() => (_converse.api.chats.get().length > 1)) |
527 | 528 | const chatbox = _converse.chatboxes.get(sender_jid);
|
528 | 529 | const view = _converse.chatboxviews.get(sender_jid);
|
529 | 530 |
|
|
659 | 660 |
|
660 | 661 | await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
|
661 | 662 | await test_utils.openChatBoxFor(_converse, contact_jid);
|
662 |
| - const chatview = await _converse.api.chatviews.get(contact_jid); |
| 663 | + const chatview = _converse.api.chatviews.get(contact_jid); |
663 | 664 | expect(u.isVisible(chatview.el)).toBeTruthy();
|
664 | 665 | expect(chatview.model.get('minimized')).toBeFalsy();
|
665 | 666 | chatview.el.querySelector('.toggle-chatbox-button').click();
|
|
1010 | 1011 | _converse.time_format = 'hh:mm';
|
1011 | 1012 | const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
1012 | 1013 | await test_utils.openChatBoxFor(_converse, contact_jid)
|
1013 |
| - const view = _converse.chatboxviews.get(contact_jid); |
| 1014 | + const view = _converse.api.chatviews.get(contact_jid); |
1014 | 1015 | const message = 'This message is sent from this chatbox';
|
1015 | 1016 | await test_utils.sendMessage(view, message);
|
1016 | 1017 |
|
1017 |
| - const chatbox = _converse.chatboxes.get(contact_jid); |
| 1018 | + const chatbox = _converse.api.chats.get(contact_jid); |
1018 | 1019 | expect(chatbox.messages.models.length, 1);
|
1019 | 1020 | const msg_object = chatbox.messages.models[0];
|
1020 | 1021 |
|
|
1055 | 1056 | }).c('body').t('A message').up()
|
1056 | 1057 | .c('active', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree());
|
1057 | 1058 | await new Promise(resolve => _converse.on('chatBoxOpened', resolve));
|
1058 |
| - const view = await _converse.chatboxviews.get(sender_jid); |
| 1059 | + const view = _converse.api.chatviews.get(sender_jid); |
1059 | 1060 | await new Promise((resolve, reject) => view.once('messageInserted', resolve));
|
1060 | 1061 |
|
1061 | 1062 | jasmine.clock().tick(3*ONE_MINUTE_LATER);
|
|
1352 | 1353 | _converse.emit('rosterContactsFetched');
|
1353 | 1354 | test_utils.openControlBox();
|
1354 | 1355 | await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length, 300);
|
1355 |
| - spyOn(_converse, 'emit'); |
| 1356 | + spyOn(_converse, 'emit').and.callThrough(); |
1356 | 1357 | const message = 'This is a received message';
|
1357 | 1358 | const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
1358 | 1359 | // We don't already have an open chatbox for this user
|
|
1366 | 1367 | }).c('body').t(message).up()
|
1367 | 1368 | .c('active', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree()
|
1368 | 1369 | );
|
1369 |
| - await test_utils.waitUntil(() => _converse.api.chats.get().length === 2); |
| 1370 | + await test_utils.waitUntil(() => (_converse.api.chats.get().length === 2)); |
1370 | 1371 | const chatbox = _converse.chatboxes.get(sender_jid);
|
1371 | 1372 | expect(chatbox).toBeDefined();
|
1372 |
| - const view = _converse.chatboxviews.get(sender_jid); |
| 1373 | + const view = _converse.api.chatviews.get(sender_jid); |
1373 | 1374 | expect(view).toBeDefined();
|
1374 | 1375 |
|
1375 | 1376 | expect(_converse.emit).toHaveBeenCalledWith('message', jasmine.any(Object));
|
|
1533 | 1534 | // We don't already have an open chatbox for this user
|
1534 | 1535 | expect(_converse.chatboxes.get(sender_jid)).not.toBeDefined();
|
1535 | 1536 |
|
1536 |
| - let chatbox = _converse.chatboxes.get(sender_jid); |
| 1537 | + let chatbox = await _converse.api.chats.get(sender_jid); |
1537 | 1538 | expect(chatbox).not.toBeDefined();
|
1538 | 1539 | // onMessage is a handler for received XMPP messages
|
1539 | 1540 | await _converse.chatboxes.onMessage(msg);
|
|
1602 | 1603 | fullname = _.isEmpty(fullname)? _converse.bare_jid: fullname;
|
1603 | 1604 | await _converse.api.chats.open(sender_jid)
|
1604 | 1605 | var msg_text = 'This message will not be sent, due to an error';
|
1605 |
| - const view = _converse.chatboxviews.get(sender_jid); |
| 1606 | + const view = _converse.api.chatviews.get(sender_jid); |
1606 | 1607 | let message = view.model.messages.create({
|
1607 | 1608 | 'msgid': '82bc02ce-9651-4336-baf0-fa04762ed8d2',
|
1608 | 1609 | 'fullname': fullname,
|
|
1769 | 1770 | const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
1770 | 1771 | const message = 'This message is received while the chat area is scrolled up';
|
1771 | 1772 | await test_utils.openChatBoxFor(_converse, sender_jid)
|
1772 |
| - const view = _converse.chatboxviews.get(sender_jid); |
| 1773 | + const view = _converse.api.chatviews.get(sender_jid); |
1773 | 1774 | spyOn(view, 'onScrolledDown').and.callThrough();
|
1774 | 1775 | // Create enough messages so that there's a scrollbar.
|
1775 | 1776 | const promises = [];
|
|
1872 | 1873 | _converse.emit('rosterContactsFetched');
|
1873 | 1874 | const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
1874 | 1875 | await test_utils.openChatBoxFor(_converse, contact_jid);
|
1875 |
| - const view = _converse.chatboxviews.get(contact_jid); |
| 1876 | + const view = _converse.api.chatviews.get(contact_jid); |
1876 | 1877 | spyOn(view.model, 'sendMessage').and.callThrough();
|
1877 | 1878 |
|
1878 | 1879 | let stanza = u.toStanza(`
|
|
1923 | 1924 | _converse.emit('rosterContactsFetched');
|
1924 | 1925 | const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
1925 | 1926 | await test_utils.openChatBoxFor(_converse, contact_jid)
|
1926 |
| - const view = _converse.chatboxviews.get(contact_jid); |
| 1927 | + const view = _converse.api.chatviews.get(contact_jid); |
1927 | 1928 | spyOn(view.model, 'sendMessage').and.callThrough();
|
1928 | 1929 |
|
1929 | 1930 | let stanza = u.toStanza(`
|
|
1972 | 1973 | _converse.emit('rosterContactsFetched');
|
1973 | 1974 | const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
1974 | 1975 | await test_utils.openChatBoxFor(_converse, contact_jid);
|
1975 |
| - const view = _converse.chatboxviews.get(contact_jid); |
| 1976 | + const view = _converse.api.chatviews.get(contact_jid); |
1976 | 1977 | spyOn(view.model, 'sendMessage').and.callThrough();
|
1977 | 1978 | const stanza = u.toStanza(`
|
1978 | 1979 | <message from="${contact_jid}"
|
|
2003 | 2004 | _converse.emit('rosterContactsFetched');
|
2004 | 2005 | const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
2005 | 2006 | await test_utils.openChatBoxFor(_converse, contact_jid)
|
2006 |
| - const view = await _converse.api.chatviews.get(contact_jid); |
| 2007 | + const view = _converse.api.chatviews.get(contact_jid); |
2007 | 2008 | spyOn(view.model, 'sendMessage').and.callThrough();
|
2008 | 2009 | const url = base_url+"/logo/conversejs-filled.svg";
|
2009 | 2010 |
|
|
2041 | 2042 | _converse.emit('rosterContactsFetched');
|
2042 | 2043 | const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
2043 | 2044 | await test_utils.openChatBoxFor(_converse, contact_jid);
|
2044 |
| - const view = await _converse.api.chatviews.get(contact_jid); |
| 2045 | + const view = _converse.api.chatviews.get(contact_jid); |
2045 | 2046 | const msgid = u.getUniqueId();
|
2046 | 2047 | const stanza = u.toStanza(`
|
2047 | 2048 | <message from='${contact_jid}'
|
|
2112 | 2113 |
|
2113 | 2114 | const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
2114 | 2115 | await test_utils.openChatBoxFor(_converse, contact_jid);
|
2115 |
| - const view = await _converse.api.chatviews.get(contact_jid); |
| 2116 | + const view = _converse.api.chatviews.get(contact_jid); |
2116 | 2117 |
|
2117 | 2118 | let stanza = u.toStanza(`
|
2118 | 2119 | <message xmlns="jabber:client"
|
|
2160 | 2161 | async function (done, _converse) {
|
2161 | 2162 |
|
2162 | 2163 | await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
2163 |
| - const view = _converse.chatboxviews.get('lounge@localhost'); |
| 2164 | + const view = _converse.api.chatviews.get('lounge@localhost'); |
2164 | 2165 | if (!view.el.querySelectorAll('.chat-area').length) { view.renderChatArea(); }
|
2165 | 2166 | const message = 'dummy: Your attention is required';
|
2166 | 2167 | const nick = mock.chatroom_names[0],
|
|
2259 | 2260 |
|
2260 | 2261 | test_utils.createContacts(_converse, 'current');
|
2261 | 2262 | await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
2262 |
| - const view = _converse.chatboxviews.get('lounge@localhost'); |
| 2263 | + const view = _converse.api.chatviews.get('lounge@localhost'); |
2263 | 2264 | const msg = $msg({
|
2264 | 2265 | from: 'lounge@localhost/dummy',
|
2265 | 2266 | id: (new Date()).getTime(),
|
|
2279 | 2280 | await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
2280 | 2281 | const jid = 'lounge@localhost';
|
2281 | 2282 | const room = _converse.api.rooms.get(jid);
|
2282 |
| - const view = _converse.chatboxviews.get(jid); |
| 2283 | + const view = _converse.api.chatviews.get(jid); |
2283 | 2284 | const stanza = $pres({
|
2284 | 2285 | to: 'dummy@localhost/_converse.js-29092160',
|
2285 | 2286 |
|
|
2345 | 2346 | await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
2346 | 2347 | const room_jid = 'lounge@localhost';
|
2347 | 2348 | const room = _converse.api.rooms.get(room_jid);
|
2348 |
| - const view = _converse.chatboxviews.get(room_jid); |
| 2349 | + const view = _converse.api.chatviews.get(room_jid); |
2349 | 2350 | const textarea = view.el.querySelector('textarea.chat-textarea');
|
2350 | 2351 | expect(textarea.value).toBe('');
|
2351 | 2352 | view.keyPressed({
|
|
2628 | 2629 | async function (done, _converse) {
|
2629 | 2630 |
|
2630 | 2631 | await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom');
|
2631 |
| - const view = _converse.chatboxviews.get('lounge@localhost'); |
| 2632 | + const view = _converse.api.chatviews.get('lounge@localhost'); |
2632 | 2633 | ['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => {
|
2633 | 2634 | _converse.connection._dataRecv(test_utils.createRequest(
|
2634 | 2635 | $pres({
|
|
2671 | 2672 | async function (done, _converse) {
|
2672 | 2673 |
|
2673 | 2674 | await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom');
|
2674 |
| - const view = _converse.chatboxviews.get('lounge@localhost'); |
| 2675 | + const view = _converse.api.chatviews.get('lounge@localhost'); |
2675 | 2676 | ['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh', 'Link Mauve'].forEach((nick) => {
|
2676 | 2677 | _converse.connection._dataRecv(test_utils.createRequest(
|
2677 | 2678 | $pres({
|
|
2732 | 2733 | async function (done, _converse) {
|
2733 | 2734 |
|
2734 | 2735 | await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom');
|
2735 |
| - const view = _converse.chatboxviews.get('lounge@localhost'); |
| 2736 | + const view = _converse.api.chatviews.get('lounge@localhost'); |
2736 | 2737 | ['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => {
|
2737 | 2738 | _converse.connection._dataRecv(test_utils.createRequest(
|
2738 | 2739 | $pres({
|
|
2803 | 2804 | it("includes XEP-0372 references to that person",
|
2804 | 2805 | mock.initConverse(
|
2805 | 2806 | null, ['rosterGroupsFetched'], {},
|
2806 |
| - function (done, _converse) { |
2807 |
| - |
2808 |
| - test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom') |
2809 |
| - .then(() => { |
2810 |
| - const view = _converse.chatboxviews.get('lounge@localhost'); |
2811 |
| - ['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => { |
2812 |
| - _converse.connection._dataRecv(test_utils.createRequest( |
2813 |
| - $pres({ |
2814 |
| - 'to': 'tom@localhost/resource', |
2815 |
| - 'from': `lounge@localhost/${nick}` |
2816 |
| - }) |
2817 |
| - .c('x', {xmlns: Strophe.NS.MUC_USER}) |
2818 |
| - .c('item', { |
2819 |
| - 'affiliation': 'none', |
2820 |
| - 'jid': `${nick}@localhost/resource`, |
2821 |
| - 'role': 'participant' |
2822 |
| - }))); |
2823 |
| - }); |
| 2807 | + async function (done, _converse) { |
2824 | 2808 |
|
2825 |
| - spyOn(_converse.connection, 'send'); |
2826 |
| - const textarea = view.el.querySelector('textarea.chat-textarea'); |
2827 |
| - textarea.value = 'hello @z3r0 @gibson @mr.robot, how are you?' |
2828 |
| - const enter_event = { |
2829 |
| - 'target': textarea, |
2830 |
| - 'preventDefault': _.noop, |
2831 |
| - 'stopPropagation': _.noop, |
2832 |
| - 'keyCode': 13 // Enter |
2833 |
| - } |
2834 |
| - view.keyPressed(enter_event); |
2835 |
| - |
2836 |
| - const msg = _converse.connection.send.calls.all()[0].args[0]; |
2837 |
| - expect(msg.toLocaleString()) |
2838 |
| - .toBe(`<message from="dummy@localhost/resource" id="${msg.nodeTree.getAttribute("id")}" `+ |
2839 |
| - `to="lounge@localhost" type="groupchat" `+ |
2840 |
| - `xmlns="jabber:client">`+ |
2841 |
| - `<body>hello z3r0 gibson mr.robot, how are you?</body>`+ |
2842 |
| - `<active xmlns="http://jabber.org/protocol/chatstates"/>`+ |
2843 |
| - `<reference begin="18" end="26" type="mention" uri="xmpp:mr.robot@localhost" xmlns="urn:xmpp:reference:0"/>`+ |
2844 |
| - `<reference begin="11" end="17" type="mention" uri="xmpp:gibson@localhost" xmlns="urn:xmpp:reference:0"/>`+ |
2845 |
| - `<reference begin="6" end="10" type="mention" uri="xmpp:z3r0@localhost" xmlns="urn:xmpp:reference:0"/>`+ |
2846 |
| - `<origin-id id="${msg.nodeTree.querySelector('origin-id').getAttribute("id")}" xmlns="urn:xmpp:sid:0"/>`+ |
2847 |
| - `</message>`); |
2848 |
| - done(); |
2849 |
| - }).catch(_.partial(console.error, _)); |
| 2809 | + await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom'); |
| 2810 | + const view = _converse.api.chatviews.get('lounge@localhost'); |
| 2811 | + ['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => { |
| 2812 | + _converse.connection._dataRecv(test_utils.createRequest( |
| 2813 | + $pres({ |
| 2814 | + 'to': 'tom@localhost/resource', |
| 2815 | + 'from': `lounge@localhost/${nick}` |
| 2816 | + }) |
| 2817 | + .c('x', {xmlns: Strophe.NS.MUC_USER}) |
| 2818 | + .c('item', { |
| 2819 | + 'affiliation': 'none', |
| 2820 | + 'jid': `${nick}@localhost/resource`, |
| 2821 | + 'role': 'participant' |
| 2822 | + }))); |
| 2823 | + }); |
| 2824 | + |
| 2825 | + spyOn(_converse.connection, 'send'); |
| 2826 | + const textarea = view.el.querySelector('textarea.chat-textarea'); |
| 2827 | + textarea.value = 'hello @z3r0 @gibson @mr.robot, how are you?' |
| 2828 | + const enter_event = { |
| 2829 | + 'target': textarea, |
| 2830 | + 'preventDefault': _.noop, |
| 2831 | + 'stopPropagation': _.noop, |
| 2832 | + 'keyCode': 13 // Enter |
| 2833 | + } |
| 2834 | + view.keyPressed(enter_event); |
| 2835 | + |
| 2836 | + const msg = _converse.connection.send.calls.all()[0].args[0]; |
| 2837 | + expect(msg.toLocaleString()) |
| 2838 | + .toBe(`<message from="dummy@localhost/resource" id="${msg.nodeTree.getAttribute("id")}" `+ |
| 2839 | + `to="lounge@localhost" type="groupchat" `+ |
| 2840 | + `xmlns="jabber:client">`+ |
| 2841 | + `<body>hello z3r0 gibson mr.robot, how are you?</body>`+ |
| 2842 | + `<active xmlns="http://jabber.org/protocol/chatstates"/>`+ |
| 2843 | + `<reference begin="18" end="26" type="mention" uri="xmpp:mr.robot@localhost" xmlns="urn:xmpp:reference:0"/>`+ |
| 2844 | + `<reference begin="11" end="17" type="mention" uri="xmpp:gibson@localhost" xmlns="urn:xmpp:reference:0"/>`+ |
| 2845 | + `<reference begin="6" end="10" type="mention" uri="xmpp:z3r0@localhost" xmlns="urn:xmpp:reference:0"/>`+ |
| 2846 | + `<origin-id id="${msg.nodeTree.querySelector('origin-id').getAttribute("id")}" xmlns="urn:xmpp:sid:0"/>`+ |
| 2847 | + `</message>`); |
| 2848 | + done(); |
2850 | 2849 | }));
|
2851 | 2850 | });
|
2852 | 2851 | });
|
|
0 commit comments