Use shakespearean character names in tests
This commit is contained in:
parent
5738b3748a
commit
737e27c726
@ -13,15 +13,15 @@
|
||||
});
|
||||
|
||||
it("Show a chat room", function () {
|
||||
test_utils.openChatRoom('lounge', 'localhost', 'dummy');
|
||||
var view = converse.chatboxviews.get('lounge@localhost');
|
||||
test_utils.openChatRoom('lounge', 'mongague.lit', 'romeo');
|
||||
var view = converse.chatboxviews.get('lounge@mongague.lit');
|
||||
if (!view.$el.find('.chat-area').length) { view.renderChatArea(); }
|
||||
var text = 'This is a sent message';
|
||||
view.$el.find('.chat-textarea').text(text);
|
||||
view.$el.find('textarea.chat-textarea').trigger($.Event('keypress', {keyCode: 13}));
|
||||
var message = $msg({
|
||||
from: 'lounge@localhost/dummy',
|
||||
to: 'dummy@localhost.com',
|
||||
from: 'lounge@mongague.lit/romeo',
|
||||
to: 'romeo@mongague.lit.com',
|
||||
type: 'groupchat',
|
||||
id: view.model.messages.at(0).get('msgid')
|
||||
}).c('body').t(text);
|
||||
@ -30,9 +30,9 @@
|
||||
var nick = mock.chatroom_names[0];
|
||||
text = 'This is a received message';
|
||||
message = $msg({
|
||||
from: 'lounge@localhost/'+nick,
|
||||
from: 'lounge@mongague.lit/'+nick,
|
||||
id: '1',
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@mongague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t(text);
|
||||
view.onChatRoomMessage(message.nodeTree);
|
||||
@ -49,7 +49,7 @@
|
||||
$msg({
|
||||
'type': 'headline',
|
||||
'from': 'notify.example.com',
|
||||
'to': 'dummy@localhost',
|
||||
'to': 'romeo@mongague.lit',
|
||||
'xml:lang': 'en'
|
||||
})
|
||||
.c('subject').t('MAIL').up()
|
||||
@ -59,7 +59,7 @@
|
||||
});
|
||||
|
||||
xit("Show a private chat box", function () {
|
||||
var contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
var contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@mongague.lit';
|
||||
var chatbox = test_utils.openChatBoxFor(contact_jid);
|
||||
var view = converse.chatboxviews.get(contact_jid);
|
||||
var message = 'This message is sent from this chatbox';
|
||||
|
@ -20,19 +20,19 @@
|
||||
null, ['rosterGroupsFetched'], {},
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom');
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'tom');
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
|
||||
['dick', 'harry'].forEach((nick) => {
|
||||
_converse.connection._dataRecv(test_utils.createRequest(
|
||||
$pres({
|
||||
'to': 'tom@localhost/resource',
|
||||
'from': `lounge@localhost/${nick}`
|
||||
'to': 'tom@montague.lit/resource',
|
||||
'from': `lounge@montague.lit/${nick}`
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': `${nick}@localhost/resource`,
|
||||
'jid': `${nick}@montague.lit/resource`,
|
||||
'role': 'participant'
|
||||
})));
|
||||
});
|
||||
@ -62,17 +62,17 @@
|
||||
null, ['rosterGroupsFetched'], {},
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
expect(view.model.occupants.length).toBe(1);
|
||||
let presence = $pres({
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'lounge@localhost/some1'
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'from': 'lounge@montague.lit/some1'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'some1@localhost/resource',
|
||||
'jid': 'some1@montague.lit/resource',
|
||||
'role': 'participant'
|
||||
});
|
||||
_converse.connection._dataRecv(test_utils.createRequest(presence));
|
||||
@ -109,13 +109,13 @@
|
||||
expect(view.el.querySelector('.suggestion-box__results').hidden).toBeTruthy();
|
||||
|
||||
presence = $pres({
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'lounge@localhost/some2'
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'from': 'lounge@montague.lit/some2'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'some2@localhost/resource',
|
||||
'jid': 'some2@montague.lit/resource',
|
||||
'role': 'participant'
|
||||
});
|
||||
_converse.connection._dataRecv(test_utils.createRequest(presence));
|
||||
@ -148,13 +148,13 @@
|
||||
|
||||
// Test that pressing tab twice selects
|
||||
presence = $pres({
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'lounge@localhost/z3r0'
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'from': 'lounge@montague.lit/z3r0'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'z3r0@localhost/resource',
|
||||
'jid': 'z3r0@montague.lit/resource',
|
||||
'role': 'participant'
|
||||
});
|
||||
_converse.connection._dataRecv(test_utils.createRequest(presence));
|
||||
@ -173,17 +173,17 @@
|
||||
null, ['rosterGroupsFetched'], {},
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
expect(view.model.occupants.length).toBe(1);
|
||||
const presence = $pres({
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'lounge@localhost/some1'
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'from': 'lounge@montague.lit/some1'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'some1@localhost/resource',
|
||||
'jid': 'some1@montague.lit/resource',
|
||||
'role': 'participant'
|
||||
});
|
||||
_converse.connection._dataRecv(test_utils.createRequest(presence));
|
||||
|
@ -96,7 +96,7 @@
|
||||
|
||||
await test_utils.waitUntil(() => sent_stanza);
|
||||
expect(sent_stanza.toLocaleString()).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${IQ_id}" type="set" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${IQ_id}" type="set" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<publish node="storage:bookmarks">`+
|
||||
`<item id="current">`+
|
||||
@ -154,7 +154,7 @@
|
||||
['http://jabber.org/protocol/pubsub#publish-options']
|
||||
);
|
||||
await test_utils.waitUntil(() => _converse.bookmarks);
|
||||
let jid = 'lounge@localhost';
|
||||
let jid = 'lounge@montague.lit';
|
||||
_converse.bookmarks.create({
|
||||
'jid': jid,
|
||||
'autojoin': false,
|
||||
@ -222,8 +222,8 @@
|
||||
[{'category': 'pubsub', 'type': 'pep'}],
|
||||
['http://jabber.org/protocol/pubsub#publish-options']
|
||||
);
|
||||
await _converse.api.rooms.open(`lounge@localhost`);
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await _converse.api.rooms.open(`lounge@montague.lit`);
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
let bookmark_icon = await test_utils.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
|
||||
expect(_.includes(bookmark_icon.classList, 'button-on')).toBeFalsy();
|
||||
_converse.bookmarks.create({
|
||||
@ -289,7 +289,7 @@
|
||||
// conferences to bookmark (since we removed the one and
|
||||
// only bookmark).
|
||||
expect(sent_stanza.toLocaleString()).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${IQ_id}" type="set" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${IQ_id}" type="set" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<publish node="storage:bookmarks">`+
|
||||
`<item id="current">`+
|
||||
@ -389,8 +389,8 @@
|
||||
* </message>
|
||||
*/
|
||||
var stanza = $msg({
|
||||
'from': 'dummy@localhost',
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'romeo@montague.lit',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'type': 'headline',
|
||||
'id': 'rnfoo1'
|
||||
}).c('event', {'xmlns': 'http://jabber.org/protocol/pubsub#event'})
|
||||
@ -445,7 +445,7 @@
|
||||
);
|
||||
|
||||
expect(Strophe.serialize(call.args[0])).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${IQ_id}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${IQ_id}" type="get" xmlns="jabber:client">`+
|
||||
'<pubsub xmlns="http://jabber.org/protocol/pubsub">'+
|
||||
'<items node="storage:bookmarks"/>'+
|
||||
'</pubsub>'+
|
||||
@ -528,7 +528,7 @@
|
||||
).pop()
|
||||
);
|
||||
expect(Strophe.serialize(call.args[0])).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${IQ_id}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${IQ_id}" type="get" xmlns="jabber:client">`+
|
||||
'<pubsub xmlns="http://jabber.org/protocol/pubsub">'+
|
||||
'<items node="storage:bookmarks"/>'+
|
||||
'</pubsub>'+
|
||||
@ -616,7 +616,7 @@
|
||||
).pop()
|
||||
);
|
||||
expect(Strophe.serialize(call.args[0])).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${IQ_id}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${IQ_id}" type="get" xmlns="jabber:client">`+
|
||||
'<pubsub xmlns="http://jabber.org/protocol/pubsub">'+
|
||||
'<items node="storage:bookmarks"/>'+
|
||||
'</pubsub>'+
|
||||
|
114
spec/chatbox.js
114
spec/chatbox.js
@ -25,7 +25,7 @@
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
test_utils.openControlBox();
|
||||
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
test_utils.sendMessage(view, '/help');
|
||||
@ -55,11 +55,11 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'localhost', [], ['vcard-temp']);
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'montague.lit', [], ['vcard-temp']);
|
||||
await test_utils.waitUntil(() => _converse.xmppstatus.vcard.get('fullname'));
|
||||
await test_utils.openControlBox();
|
||||
expect(_converse.chatboxes.length).toEqual(1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
let message = '/me is tired';
|
||||
const msg = $msg({
|
||||
from: sender_jid,
|
||||
@ -73,12 +73,12 @@
|
||||
const view = _converse.chatboxviews.get(sender_jid);
|
||||
await new Promise((resolve, reject) => view.once('messageInserted', resolve));
|
||||
expect(view.el.querySelectorAll('.chat-msg--action').length).toBe(1);
|
||||
expect(_.includes(view.el.querySelector('.chat-msg__author').textContent, '**Max Frankfurter')).toBeTruthy();
|
||||
expect(_.includes(view.el.querySelector('.chat-msg__author').textContent, '**Mercutio')).toBeTruthy();
|
||||
expect(view.el.querySelector('.chat-msg__text').textContent).toBe('is tired');
|
||||
message = '/me is as well';
|
||||
await test_utils.sendMessage(view, message);
|
||||
expect(view.el.querySelectorAll('.chat-msg--action').length).toBe(2);
|
||||
await test_utils.waitUntil(() => sizzle('.chat-msg__author:last', view.el).pop().textContent.trim() === '**Max Mustermann');
|
||||
await test_utils.waitUntil(() => sizzle('.chat-msg__author:last', view.el).pop().textContent.trim() === '**Romeo Montague');
|
||||
const last_el = sizzle('.chat-msg__text:last', view.el).pop();
|
||||
expect(last_el.textContent).toBe('is as well');
|
||||
expect(u.hasClass('chat-msg--followup', last_el)).toBe(false);
|
||||
@ -115,7 +115,7 @@
|
||||
const online_contacts = _converse.rosterview.el.querySelectorAll('.roster-group .current-xmpp-contact a.open-chat');
|
||||
expect(online_contacts.length).toBe(15);
|
||||
let el = online_contacts[0];
|
||||
const jid = el.textContent.trim().replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = el.textContent.trim().replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
el.click();
|
||||
await test_utils.waitUntil(() => _converse.chatboxes.length == 2);
|
||||
const chatboxview = _converse.chatboxviews.get(jid);
|
||||
@ -126,7 +126,7 @@
|
||||
online_contacts[1].click();
|
||||
await test_utils.waitUntil(() => _converse.chatboxes.length == 3);
|
||||
el = online_contacts[1];
|
||||
const new_jid = el.textContent.trim().replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const new_jid = el.textContent.trim().replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const new_chatboxview = _converse.chatboxviews.get(new_jid);
|
||||
expect(_converse.chatboxviews.trimChats).toHaveBeenCalled();
|
||||
// Check that new chat boxes are created to the left of the
|
||||
@ -140,11 +140,11 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const stanza = u.toStanza(`
|
||||
<message from="${sender_jid}"
|
||||
type="chat"
|
||||
to="dummy@localhost/resource">
|
||||
to="romeo@montague.lit/orchard">
|
||||
<body>Hey\nHave you heard the news?</body>
|
||||
</message>`);
|
||||
|
||||
@ -161,11 +161,11 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const stanza = u.toStanza(`
|
||||
<message from="${sender_jid}"
|
||||
type="chat"
|
||||
to="dummy@localhost/resource">
|
||||
to="romeo@montague.lit/orchard">
|
||||
<composing xmlns="http://jabber.org/protocol/chatstates"/>
|
||||
</message>`);
|
||||
const message_promise = new Promise(resolve => _converse.api.listen.on('message', resolve))
|
||||
@ -209,7 +209,7 @@
|
||||
|
||||
for (i=0; i<online_contacts.length; i++) {
|
||||
const el = online_contacts[i];
|
||||
jid = _.trim(el.textContent.trim()).replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = _.trim(el.textContent.trim()).replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
chatboxview = _converse.chatboxviews.get(jid);
|
||||
spyOn(chatboxview, 'minimize').and.callThrough();
|
||||
chatboxview.model.set({'minimized': true});
|
||||
@ -237,7 +237,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const chat = await _converse.api.chats.create(sender_jid, {'minimized': true});
|
||||
await test_utils.waitUntil(() => _converse.chatboxes.length > 1);
|
||||
const chatBoxView = _converse.chatboxviews.get(sender_jid);
|
||||
@ -257,14 +257,14 @@
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
// openControlBox was called earlier, so the controlbox is
|
||||
// visible, but no other chat boxes have been created.
|
||||
expect(_converse.chatboxes.length).toEqual(1);
|
||||
|
||||
const view = await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const el = sizzle('a.open-chat:contains("'+view.model.getDisplayName()+'")', _converse.rosterview.el).pop();
|
||||
const jid = el.textContent.replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = el.textContent.replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
spyOn(_converse.api, "trigger");
|
||||
el.click();
|
||||
await test_utils.waitUntil(() => _converse.api.trigger.calls.count(), 500);
|
||||
@ -317,7 +317,7 @@
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
|
||||
const contact_jid = mock.cur_names[7].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[7].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const controlview = _converse.chatboxviews.get('controlbox'), // The controlbox is currently open
|
||||
@ -352,7 +352,7 @@
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
|
||||
const contact_jid = mock.cur_names[7].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[7].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const trimmed_chatboxes = _converse.minimized_chats;
|
||||
@ -433,7 +433,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 3);
|
||||
test_utils.openControlBox();
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const chatbox = _converse.chatboxes.get(contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
@ -453,7 +453,7 @@
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
const toolbar = view.el.querySelector('ul.chat-toolbar');
|
||||
@ -484,7 +484,7 @@
|
||||
test_utils.openControlBox();
|
||||
|
||||
let toolbar, call_button;
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
spyOn(_converse.api, "trigger");
|
||||
// First check that the button doesn't show if it's not enabled
|
||||
// via "visible_toolbar_buttons"
|
||||
@ -518,12 +518,12 @@
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
let stanza = u.toStanza(
|
||||
`<message from="${sender_jid}"
|
||||
type="chat"
|
||||
to="dummy@localhost/resource">
|
||||
to="romeo@montague.lit/orchard">
|
||||
<composing xmlns="http://jabber.org/protocol/chatstates"/>
|
||||
<no-store xmlns="urn:xmpp:hints"/>
|
||||
<no-permanent-store xmlns="urn:xmpp:hints"/>
|
||||
@ -533,7 +533,7 @@
|
||||
stanza = u.toStanza(
|
||||
`<message from="${sender_jid}"
|
||||
type="chat"
|
||||
to="dummy@localhost/resource">
|
||||
to="romeo@montague.lit/orchard">
|
||||
<paused xmlns="http://jabber.org/protocol/chatstates"/>
|
||||
<no-store xmlns="urn:xmpp:hints"/>
|
||||
<no-permanent-store xmlns="urn:xmpp:hints"/>
|
||||
@ -551,7 +551,7 @@
|
||||
test_utils.openControlBox();
|
||||
|
||||
spyOn(_converse.api, "trigger");
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
// <composing> state
|
||||
const msg = $msg({
|
||||
'from': sender_jid,
|
||||
@ -573,7 +573,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
test_utils.openControlBox();
|
||||
test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
|
||||
spyOn(_converse.connection, 'send');
|
||||
@ -596,7 +596,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
test_utils.openControlBox();
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
@ -630,7 +630,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
@ -672,7 +672,7 @@
|
||||
|
||||
// See XEP-0085 https://xmpp.org/extensions/xep-0085.html#definitions
|
||||
spyOn(_converse.api, "trigger");
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
|
||||
@ -713,12 +713,12 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
let contact, sent_stanza, IQ_id, stanza;
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'localhost', [], ['vcard-temp']);
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'montague.lit', [], ['vcard-temp']);
|
||||
await test_utils.waitUntil(() => _converse.xmppstatus.vcard.get('fullname'));
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
// Send a message from a different resource
|
||||
spyOn(_converse, 'log');
|
||||
const recipient_jid = mock.cur_names[5].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const recipient_jid = mock.cur_names[5].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const view = await test_utils.openChatBoxFor(_converse, recipient_jid);
|
||||
const msg = $msg({
|
||||
'from': _converse.bare_jid,
|
||||
@ -759,7 +759,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
test_utils.openControlBox();
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group li').length, 700);
|
||||
_converse.TIMEOUTS.PAUSED = 200; // Make the timeout shorter so that we can test
|
||||
@ -818,7 +818,7 @@
|
||||
// TODO: only show paused state if the previous state was composing
|
||||
// See XEP-0085 https://xmpp.org/extensions/xep-0085.html#definitions
|
||||
spyOn(_converse.api, "trigger").and.callThrough();
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const view = await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
// <paused> state
|
||||
const msg = $msg({
|
||||
@ -841,12 +841,12 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
let contact, sent_stanza, IQ_id, stanza;
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'localhost', [], ['vcard-temp']);
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'montague.lit', [], ['vcard-temp']);
|
||||
await test_utils.waitUntil(() => _converse.xmppstatus.vcard.get('fullname'));
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
// Send a message from a different resource
|
||||
spyOn(_converse, 'log');
|
||||
const recipient_jid = mock.cur_names[5].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const recipient_jid = mock.cur_names[5].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const view = await test_utils.openChatBoxFor(_converse, recipient_jid);
|
||||
const msg = $msg({
|
||||
'from': _converse.bare_jid,
|
||||
@ -891,7 +891,7 @@
|
||||
_converse.TIMEOUTS.INACTIVE = 200;
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
test_utils.openControlBox();
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length, 1000);
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
@ -939,7 +939,7 @@
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
spyOn(_converse.connection, 'send');
|
||||
@ -958,7 +958,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
test_utils.openControlBox();
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
|
||||
const view = await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
@ -984,7 +984,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
// See XEP-0085 https://xmpp.org/extensions/xep-0085.html#definitions
|
||||
spyOn(_converse.api, "trigger");
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
@ -1028,7 +1028,7 @@
|
||||
test_utils.openControlBox();
|
||||
|
||||
spyOn(_converse.api, "trigger");
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
// <paused> state
|
||||
const msg = $msg({
|
||||
from: sender_jid,
|
||||
@ -1057,7 +1057,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
test_utils.openControlBox();
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
spyOn(_converse.api, "trigger");
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
@ -1103,7 +1103,7 @@
|
||||
|
||||
expect(_converse.msg_counter).toBe(0);
|
||||
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const view = await test_utils.openChatBoxFor(_converse, sender_jid)
|
||||
|
||||
const previous_state = _converse.windowState;
|
||||
@ -1158,7 +1158,7 @@
|
||||
spyOn(_converse, 'incrementMsgCounter').and.callThrough();
|
||||
_converse.saveWindowState(null, 'focus');
|
||||
const message = 'This message will not increment the message counter';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
msg = $msg({
|
||||
from: sender_jid,
|
||||
to: _converse.connection.jid,
|
||||
@ -1181,7 +1181,7 @@
|
||||
// initial state
|
||||
expect(_converse.msg_counter).toBe(0);
|
||||
const message = 'This message will always increment the message counter from zero',
|
||||
sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
msgFactory = function () {
|
||||
return $msg({
|
||||
from: sender_jid,
|
||||
@ -1228,7 +1228,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
msg = test_utils.createChatMessage(_converse, sender_jid, 'This message will be unread');
|
||||
|
||||
const view = await test_utils.openChatBoxFor(_converse, sender_jid)
|
||||
@ -1246,7 +1246,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
msg = test_utils.createChatMessage(_converse, sender_jid, 'This message will be read');
|
||||
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
@ -1262,7 +1262,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const msgFactory = function () {
|
||||
return test_utils.createChatMessage(_converse, sender_jid, 'This message will be unread');
|
||||
};
|
||||
@ -1281,7 +1281,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const msgFactory = () => test_utils.createChatMessage(_converse, sender_jid, 'This message will be unread');
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
const chatbox = _converse.chatboxes.get(sender_jid);
|
||||
@ -1299,7 +1299,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const msgFactory = () => test_utils.createChatMessage(_converse, sender_jid, 'This message will be unread');
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
const chatbox = _converse.chatboxes.get(sender_jid);
|
||||
@ -1318,7 +1318,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const msgFactory = () => test_utils.createChatMessage(_converse, sender_jid, 'This message will be unread');
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
const chatbox = _converse.chatboxes.get(sender_jid);
|
||||
@ -1342,7 +1342,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
let msg, indicator_el;
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length, 500);
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
const chatbox = _converse.chatboxes.get(sender_jid);
|
||||
@ -1367,7 +1367,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
let indicator_el, msg;
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length, 500);
|
||||
@ -1397,7 +1397,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const msgFactory = () => test_utils.createChatMessage(_converse, sender_jid, 'This message will be received as unread, but eventually will be read');
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length, 500);
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
@ -1423,7 +1423,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length, 500);
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
const chatbox = _converse.chatboxes.get(sender_jid);
|
||||
@ -1447,7 +1447,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length, 500);
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
const chatbox = _converse.chatboxes.get(sender_jid);
|
||||
@ -1474,7 +1474,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
const msgFactory = function () {
|
||||
return test_utils.createChatMessage(_converse, sender_jid, 'This message will be received as unread, but eventually will be read');
|
||||
@ -1502,7 +1502,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const view = await test_utils.openChatBoxFor(_converse, sender_jid)
|
||||
const msgFactory = function () {
|
||||
return test_utils.createChatMessage(_converse, sender_jid,
|
||||
@ -1530,7 +1530,7 @@
|
||||
|
||||
const base_url = document.URL.split(window.location.pathname)[0],
|
||||
message = "geo:37.786971,-122.399677",
|
||||
contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
|
@ -48,13 +48,13 @@
|
||||
test_utils.openControlBox();
|
||||
// Adding two contacts one with Capital initials and one with small initials of same JID (Case sensitive check)
|
||||
_converse.roster.create({
|
||||
jid: mock.pend_names[0].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: mock.pend_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'none',
|
||||
ask: 'subscribe',
|
||||
fullname: mock.pend_names[0]
|
||||
});
|
||||
_converse.roster.create({
|
||||
jid: mock.pend_names[0].replace(/ /g,'.') + '@localhost',
|
||||
jid: mock.pend_names[0].replace(/ /g,'.') + '@montague.lit',
|
||||
subscription: 'none',
|
||||
ask: 'subscribe',
|
||||
fullname: mock.pend_names[0]
|
||||
@ -74,7 +74,7 @@
|
||||
test_utils.createContacts(_converse, 'all').openControlBox();
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, sender_jid);
|
||||
await test_utils.waitUntil(() => _converse.chatboxes.length);
|
||||
const chatview = _converse.chatboxviews.get(sender_jid);
|
||||
@ -208,13 +208,13 @@
|
||||
input_jid.value = 'someone@';
|
||||
const evt = new Event('input');
|
||||
input_jid.dispatchEvent(evt);
|
||||
expect(modal.el.querySelector('.suggestion-box li').textContent).toBe('someone@localhost');
|
||||
input_jid.value = 'someone@localhost';
|
||||
expect(modal.el.querySelector('.suggestion-box li').textContent).toBe('someone@montague.lit');
|
||||
input_jid.value = 'someone@montague.lit';
|
||||
input_name.value = 'Someone';
|
||||
modal.el.querySelector('button[type="submit"]').click();
|
||||
expect(sent_stanza.toLocaleString()).toEqual(
|
||||
`<iq id="${IQ_id}" type="set" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:roster"><item jid="someone@localhost" name="Someone"/></query>`+
|
||||
`<query xmlns="jabber:iq:roster"><item jid="someone@montague.lit" name="Someone"/></query>`+
|
||||
`</iq>`);
|
||||
done();
|
||||
}));
|
||||
@ -236,7 +236,7 @@
|
||||
expect(!_.isNull(modal.el.querySelector('form.add-xmpp-contact'))).toBeTruthy();
|
||||
const input_jid = modal.el.querySelector('input[name="jid"]');
|
||||
const input_name = modal.el.querySelector('input[name="name"]');
|
||||
input_jid.value = 'someone@localhost';
|
||||
input_jid.value = 'someone@montague.lit';
|
||||
modal.el.querySelector('button[type="submit"]').click();
|
||||
|
||||
const IQ_stanzas = _converse.connection.IQ_stanzas;
|
||||
@ -245,7 +245,7 @@
|
||||
);
|
||||
expect(Strophe.serialize(sent_stanza)).toEqual(
|
||||
`<iq id="${sent_stanza.getAttribute('id')}" type="set" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:roster"><item jid="someone@localhost"/></query>`+
|
||||
`<query xmlns="jabber:iq:roster"><item jid="someone@montague.lit"/></query>`+
|
||||
`</iq>`
|
||||
);
|
||||
done();
|
||||
@ -324,10 +324,10 @@
|
||||
'send': function () {
|
||||
const value = modal.el.querySelector('input[name="name"]').value;
|
||||
if (value === 'existing') {
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
xhr.responseText = JSON.stringify([{"jid": contact_jid, "fullname": mock.cur_names[0]}]);
|
||||
} else if (value === 'dummy') {
|
||||
xhr.responseText = JSON.stringify([{"jid": "dummy@localhost", "fullname": "Max Mustermann"}]);
|
||||
} else if (value === 'romeo') {
|
||||
xhr.responseText = JSON.stringify([{"jid": "romeo@montague.lit", "fullname": "Romeo Montague"}]);
|
||||
} else if (value === 'ambiguous') {
|
||||
xhr.responseText = JSON.stringify([
|
||||
{"jid": "marty@mcfly.net", "fullname": "Marty McFly"},
|
||||
@ -374,7 +374,7 @@
|
||||
expect(feedback_el.textContent).toBe('Sorry, could not find a contact with that name');
|
||||
feedback_el.textContent = '';
|
||||
|
||||
input_el.value = 'dummy';
|
||||
input_el.value = 'romeo';
|
||||
modal.el.querySelector('button[type="submit"]').click();
|
||||
feedback_el = modal.el.querySelector('.invalid-feedback');
|
||||
expect(feedback_el.textContent).toBe('You cannot add yourself as a contact');
|
||||
|
@ -254,16 +254,16 @@
|
||||
let contact = await _converse.api.contacts.get('non-existing@jabber.org');
|
||||
expect(contact).toBeFalsy();
|
||||
// Check when a single jid is given
|
||||
const jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
contact = await _converse.api.contacts.get(jid);
|
||||
expect(contact.get('fullname')).toBe(mock.cur_names[0]);
|
||||
expect(contact.getDisplayName()).toBe(mock.cur_names[0]);
|
||||
expect(contact.get('jid')).toBe(jid);
|
||||
// You can retrieve multiple contacts by passing in an array
|
||||
const jid2 = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid2 = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
let list = await _converse.api.contacts.get([jid, jid2]);
|
||||
expect(Array.isArray(list)).toBeTruthy();
|
||||
expect(list[0].get('fullname')).toBe(mock.cur_names[0]);
|
||||
expect(list[1].get('fullname')).toBe(mock.cur_names[1]);
|
||||
expect(list[0].getDisplayName()).toBe(mock.cur_names[0]);
|
||||
expect(list[1].getDisplayName()).toBe(mock.cur_names[1]);
|
||||
// Check that all JIDs are returned if you call without any parameters
|
||||
list = await _converse.api.contacts.get();
|
||||
expect(list.length).toBe(mock.cur_names.length);
|
||||
@ -294,8 +294,8 @@
|
||||
|
||||
// Test on chat that doesn't exist.
|
||||
expect(_converse.api.chats.get('non-existing@jabber.org')).toBeFalsy();
|
||||
const jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid2 = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const jid2 = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
// Test on chat that's not open
|
||||
let box = _converse.api.chats.get(jid);
|
||||
@ -327,8 +327,8 @@
|
||||
test_utils.createContacts(_converse, 'current', 2);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
|
||||
const jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid2 = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const jid2 = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
// Test on chat that doesn't exist.
|
||||
expect(_converse.api.chats.get('non-existing@jabber.org')).toBeFalsy();
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
const IQ_ids = _converse.connection.IQ_ids;
|
||||
test_utils.waitUntil(function () {
|
||||
return _.filter(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
return iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
}).length > 0;
|
||||
}, 300).then(function () {
|
||||
/* <iq type='result'
|
||||
@ -52,13 +52,13 @@
|
||||
* </iq>
|
||||
*/
|
||||
var stanza = _.find(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
return iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
});
|
||||
var info_IQ_id = IQ_ids[IQ_stanzas.indexOf(stanza)];
|
||||
stanza = $iq({
|
||||
'type': 'result',
|
||||
'from': 'localhost',
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'montague.lit',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'id': info_IQ_id
|
||||
}).c('query', {'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
.c('identity', {
|
||||
@ -88,12 +88,12 @@
|
||||
expect(entities.length).toBe(2); // We have an extra entity, which is the user's JID
|
||||
expect(entities.get(_converse.domain).features.length).toBe(5);
|
||||
expect(entities.get(_converse.domain).identities.length).toBe(3);
|
||||
expect(entities.get('localhost').features.where({'var': 'jabber:iq:version'}).length).toBe(1);
|
||||
expect(entities.get('localhost').features.where({'var': 'jabber:iq:time'}).length).toBe(1);
|
||||
expect(entities.get('localhost').features.where({'var': 'jabber:iq:register'}).length).toBe(1);
|
||||
expect(entities.get('localhost').features.where(
|
||||
expect(entities.get('montague.lit').features.where({'var': 'jabber:iq:version'}).length).toBe(1);
|
||||
expect(entities.get('montague.lit').features.where({'var': 'jabber:iq:time'}).length).toBe(1);
|
||||
expect(entities.get('montague.lit').features.where({'var': 'jabber:iq:register'}).length).toBe(1);
|
||||
expect(entities.get('montague.lit').features.where(
|
||||
{'var': 'http://jabber.org/protocol/disco#items'}).length).toBe(1);
|
||||
expect(entities.get('localhost').features.where(
|
||||
expect(entities.get('montague.lit').features.where(
|
||||
{'var': 'http://jabber.org/protocol/disco#info'}).length).toBe(1);
|
||||
|
||||
|
||||
@ -131,13 +131,13 @@
|
||||
* </iq>
|
||||
*/
|
||||
var stanza = _.find(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#items"]');
|
||||
return iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#items"]');
|
||||
});
|
||||
var items_IQ_id = IQ_ids[IQ_stanzas.indexOf(stanza)];
|
||||
stanza = $iq({
|
||||
'type': 'result',
|
||||
'from': 'localhost',
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'montague.lit',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'id': items_IQ_id
|
||||
}).c('query', {'xmlns': 'http://jabber.org/protocol/disco#items'})
|
||||
.c('item', {
|
||||
@ -151,14 +151,14 @@
|
||||
'name': 'Gateway to Marlowe IM'}).up()
|
||||
|
||||
.c('item', {
|
||||
'jid': 'localhost',
|
||||
'jid': 'montague.lit',
|
||||
'node': 'books',
|
||||
'name': 'Books by and about Shakespeare'}).up()
|
||||
.c('item', {
|
||||
'node': 'localhost',
|
||||
'node': 'montague.lit',
|
||||
'name': 'Wear your literary taste with pride'}).up()
|
||||
.c('item', {
|
||||
'jid': 'localhost',
|
||||
'jid': 'montague.lit',
|
||||
'node': 'music',
|
||||
'name': 'Music from the time of Shakespeare'
|
||||
});
|
||||
|
@ -16,7 +16,7 @@
|
||||
/* XMPP spam message:
|
||||
*
|
||||
* <message xmlns="jabber:client"
|
||||
* to="dummy@localhost"
|
||||
* to="romeo@montague.lit"
|
||||
* type="chat"
|
||||
* from="gapowa20102106@rds-rostov.ru/Adium">
|
||||
* <nick xmlns="http://jabber.org/protocol/nick">-wwdmz</nick>
|
||||
@ -26,7 +26,7 @@
|
||||
sinon.spy(utils, 'isHeadlineMessage');
|
||||
const stanza = $msg({
|
||||
'xmlns': 'jabber:client',
|
||||
'to': 'dummy@localhost',
|
||||
'to': 'romeo@montague.lit',
|
||||
'type': 'chat',
|
||||
'from': 'gapowa20102106@rds-rostov.ru/Adium',
|
||||
})
|
||||
@ -59,7 +59,7 @@
|
||||
const stanza = $msg({
|
||||
'type': 'headline',
|
||||
'from': 'notify.example.com',
|
||||
'to': 'dummy@localhost',
|
||||
'to': 'romeo@montague.lit',
|
||||
'xml:lang': 'en'
|
||||
})
|
||||
.c('subject').t('SIEVE').up()
|
||||
@ -91,7 +91,7 @@
|
||||
var stanza = $msg({
|
||||
'type': 'headline',
|
||||
'from': 'andre5114@jabber.snc.ru/Spark',
|
||||
'to': 'dummy@localhost',
|
||||
'to': 'romeo@montague.lit',
|
||||
'xml:lang': 'en'
|
||||
})
|
||||
.c('nick').t('gpocy').up()
|
||||
|
@ -21,7 +21,7 @@
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.bare_jid, [], []);
|
||||
await test_utils.waitUntil(() => _.filter(
|
||||
IQ_stanzas,
|
||||
iq => iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]')).length
|
||||
iq => iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]')).length
|
||||
);
|
||||
|
||||
/* <iq type='result'
|
||||
@ -39,13 +39,13 @@
|
||||
*/
|
||||
let stanza = _.find(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector(
|
||||
'iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
'iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
});
|
||||
const info_IQ_id = IQ_ids[IQ_stanzas.indexOf(stanza)];
|
||||
stanza = $iq({
|
||||
'type': 'result',
|
||||
'from': 'localhost',
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'montague.lit',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'id': info_IQ_id
|
||||
}).c('query', {'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
.c('identity', {
|
||||
@ -59,8 +59,8 @@
|
||||
|
||||
let entities = await _converse.api.disco.entities.get();
|
||||
expect(entities.length).toBe(2);
|
||||
expect(_.includes(entities.pluck('jid'), 'localhost')).toBe(true);
|
||||
expect(_.includes(entities.pluck('jid'), 'dummy@localhost')).toBe(true);
|
||||
expect(_.includes(entities.pluck('jid'), 'montague.lit')).toBe(true);
|
||||
expect(_.includes(entities.pluck('jid'), 'romeo@montague.lit')).toBe(true);
|
||||
|
||||
expect(entities.get(_converse.domain).features.length).toBe(2);
|
||||
expect(entities.get(_converse.domain).identities.length).toBe(1);
|
||||
@ -69,7 +69,7 @@
|
||||
// so it will make a query for it.
|
||||
await test_utils.waitUntil(() => _.filter(
|
||||
IQ_stanzas,
|
||||
iq => iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#items"]')
|
||||
iq => iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#items"]')
|
||||
).length
|
||||
);
|
||||
/* <iq from='montague.tld'
|
||||
@ -83,29 +83,29 @@
|
||||
* </iq>
|
||||
*/
|
||||
stanza = _.find(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#items"]');
|
||||
return iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#items"]');
|
||||
});
|
||||
const items_IQ_id = IQ_ids[IQ_stanzas.indexOf(stanza)];
|
||||
stanza = $iq({
|
||||
'type': 'result',
|
||||
'from': 'localhost',
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'montague.lit',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'id': items_IQ_id
|
||||
}).c('query', {'xmlns': 'http://jabber.org/protocol/disco#items'})
|
||||
.c('item', {
|
||||
'jid': 'upload.localhost',
|
||||
'jid': 'upload.montague.lit',
|
||||
'name': 'HTTP File Upload'});
|
||||
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
|
||||
_converse.api.disco.entities.get().then(function (entities) {
|
||||
expect(entities.length).toBe(2);
|
||||
expect(entities.get('localhost').items.length).toBe(1);
|
||||
expect(entities.get('montague.lit').items.length).toBe(1);
|
||||
return test_utils.waitUntil(function () {
|
||||
// Converse.js sees that the entity has a disco#info feature,
|
||||
// so it will make a query for it.
|
||||
return _.filter(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector('iq[to="upload.localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
return iq.querySelector('iq[to="upload.montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
}).length > 0;
|
||||
}, 300);
|
||||
});
|
||||
@ -113,13 +113,13 @@
|
||||
stanza = await test_utils.waitUntil(() =>
|
||||
_.filter(
|
||||
IQ_stanzas,
|
||||
iq => iq.querySelector('iq[to="upload.localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]')
|
||||
iq => iq.querySelector('iq[to="upload.montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]')
|
||||
).pop()
|
||||
);
|
||||
const IQ_id = IQ_ids[IQ_stanzas.indexOf(stanza)];
|
||||
|
||||
expect(Strophe.serialize(stanza)).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="`+IQ_id+`" to="upload.localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="`+IQ_id+`" to="upload.montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<query xmlns="http://jabber.org/protocol/disco#info"/>`+
|
||||
`</iq>`);
|
||||
|
||||
@ -144,7 +144,7 @@
|
||||
* </query>
|
||||
* </iq>
|
||||
*/
|
||||
stanza = $iq({'type': 'result', 'to': 'dummy@localhost/resource', 'id': IQ_id, 'from': 'upload.localhost'})
|
||||
stanza = $iq({'type': 'result', 'to': 'romeo@montague.lit/orchard', 'id': IQ_id, 'from': 'upload.montague.lit'})
|
||||
.c('query', {'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
.c('identity', {'category':'store', 'type':'file', 'name':'HTTP File Upload'}).up()
|
||||
.c('feature', {'var':'urn:xmpp:http:upload:0'}).up()
|
||||
@ -156,12 +156,12 @@
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
|
||||
entities = await _converse.api.disco.entities.get();
|
||||
expect(entities.get('localhost').items.get('upload.localhost').identities.where({'category': 'store'}).length).toBe(1);
|
||||
expect(entities.get('montague.lit').items.get('upload.montague.lit').identities.where({'category': 'store'}).length).toBe(1);
|
||||
const supported = await _converse.api.disco.supports(Strophe.NS.HTTPUPLOAD, _converse.domain);
|
||||
expect(supported).toBe(true);
|
||||
const features = await _converse.api.disco.features.get(Strophe.NS.HTTPUPLOAD, _converse.domain);
|
||||
expect(features.length).toBe(1);
|
||||
expect(features[0].get('jid')).toBe('upload.localhost');
|
||||
expect(features[0].get('jid')).toBe('upload.montague.lit');
|
||||
expect(features[0].dataforms.where({'FORM_TYPE': {value: "urn:xmpp:http:upload:0", type: "hidden"}}).length).toBe(1);
|
||||
done();
|
||||
}));
|
||||
@ -171,7 +171,7 @@
|
||||
describe("A file upload toolbar button", function () {
|
||||
|
||||
it("does not appear in private chats", mock.initConverse(async (done, _converse) => {
|
||||
var contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
var contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
|
||||
@ -190,15 +190,15 @@
|
||||
null, ['rosterGroupsFetched'], {},
|
||||
async (done, _converse) => {
|
||||
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
test_utils.waitUntilDiscoConfirmed(
|
||||
_converse, _converse.domain,
|
||||
[{'category': 'server', 'type':'IM'}],
|
||||
['http://jabber.org/protocol/disco#items'], [], 'info');
|
||||
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.domain, [], [], ['upload.localhost'], 'items');
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.localhost', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.domain, [], [], ['upload.montague.lit'], 'items');
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.montague.lit', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
expect(view.el.querySelector('.chat-toolbar .upload-file')).toBe(null);
|
||||
done();
|
||||
}));
|
||||
@ -216,11 +216,11 @@
|
||||
[{'category': 'server', 'type':'IM'}],
|
||||
['http://jabber.org/protocol/disco#items'], [], 'info');
|
||||
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.domain, [], [], ['upload.localhost'], 'items')
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.localhost', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.domain, [], [], ['upload.montague.lit'], 'items')
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.montague.lit', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
test_utils.createContacts(_converse, 'current', 3);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
test_utils.waitUntil(() => view.el.querySelector('.upload-file'));
|
||||
@ -237,11 +237,11 @@
|
||||
[{'category': 'server', 'type':'IM'}],
|
||||
['http://jabber.org/protocol/disco#items'], [], 'info');
|
||||
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.domain, [], [], ['upload.localhost'], 'items');
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.localhost', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
await test_utils.waitUntil(() => _converse.chatboxviews.get('lounge@localhost').el.querySelector('.upload-file'));
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.domain, [], [], ['upload.montague.lit'], 'items');
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.montague.lit', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
await test_utils.waitUntil(() => _converse.chatboxviews.get('lounge@montague.lit').el.querySelector('.upload-file'));
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
expect(view.el.querySelector('.chat-toolbar .upload-file')).not.toBe(null);
|
||||
done();
|
||||
}));
|
||||
@ -262,7 +262,7 @@
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.montague.tld', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
const file = {
|
||||
@ -277,7 +277,7 @@
|
||||
await test_utils.waitUntil(() => _.filter(IQ_stanzas, iq => iq.querySelector('iq[to="upload.montague.tld"] request')).length);
|
||||
const iq = IQ_stanzas.pop();
|
||||
expect(Strophe.serialize(iq)).toBe(
|
||||
`<iq from="dummy@localhost/resource" `+
|
||||
`<iq from="romeo@montague.lit/orchard" `+
|
||||
`id="${iq.getAttribute("id")}" `+
|
||||
`to="upload.montague.tld" `+
|
||||
`type="get" `+
|
||||
@ -294,7 +294,7 @@
|
||||
const stanza = u.toStanza(`
|
||||
<iq from="upload.montague.tld"
|
||||
id="${iq.getAttribute("id")}"
|
||||
to="dummy@localhost/resource"
|
||||
to="romeo@montague.lit/orchard"
|
||||
type="result">
|
||||
<slot xmlns="urn:xmpp:http:upload:0">
|
||||
<put url="https://upload.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my-juliet.jpg">
|
||||
@ -328,9 +328,9 @@
|
||||
|
||||
await test_utils.waitUntil(() => sent_stanza, 1000);
|
||||
expect(sent_stanza.toLocaleString()).toBe(
|
||||
`<message from="dummy@localhost/resource" `+
|
||||
`<message from="romeo@montague.lit/orchard" `+
|
||||
`id="${sent_stanza.nodeTree.getAttribute("id")}" `+
|
||||
`to="irini.vlastuin@localhost" `+
|
||||
`to="lady.montague@montague.lit" `+
|
||||
`type="chat" `+
|
||||
`xmlns="jabber:client">`+
|
||||
`<body>${message}</body>`+
|
||||
@ -365,13 +365,13 @@
|
||||
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.domain, [], [], ['upload.montague.tld'], 'items');
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.montague.tld', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
|
||||
// Wait until MAM query has been sent out
|
||||
const sent_stanzas = _converse.connection.sent_stanzas;
|
||||
await test_utils.waitUntil(() => sent_stanzas.filter(s => sizzle(`[xmlns="${Strophe.NS.MAM}"]`, s).length).pop());
|
||||
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
const file = {
|
||||
'type': 'image/jpeg',
|
||||
'size': '23456' ,
|
||||
@ -384,7 +384,7 @@
|
||||
await test_utils.waitUntil(() => _.filter(IQ_stanzas, iq => iq.querySelector('iq[to="upload.montague.tld"] request')).length);
|
||||
const iq = IQ_stanzas.pop();
|
||||
expect(Strophe.serialize(iq)).toBe(
|
||||
`<iq from="dummy@localhost/resource" `+
|
||||
`<iq from="romeo@montague.lit/orchard" `+
|
||||
`id="${iq.getAttribute("id")}" `+
|
||||
`to="upload.montague.tld" `+
|
||||
`type="get" `+
|
||||
@ -400,7 +400,7 @@
|
||||
const stanza = u.toStanza(`
|
||||
<iq from='upload.montague.tld'
|
||||
id="${iq.getAttribute('id')}"
|
||||
to='dummy@localhost/resource'
|
||||
to='romeo@montague.lit/orchard'
|
||||
type='result'>
|
||||
<slot xmlns='urn:xmpp:http:upload:0'>
|
||||
<put url='https://upload.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my-juliet.jpg'>
|
||||
@ -435,9 +435,9 @@
|
||||
await test_utils.waitUntil(() => sent_stanza, 1000);
|
||||
expect(sent_stanza.toLocaleString()).toBe(
|
||||
`<message `+
|
||||
`from="dummy@localhost/resource" `+
|
||||
`from="romeo@montague.lit/orchard" `+
|
||||
`id="${sent_stanza.nodeTree.getAttribute("id")}" `+
|
||||
`to="lounge@localhost" `+
|
||||
`to="lounge@montague.lit" `+
|
||||
`type="groupchat" `+
|
||||
`xmlns="jabber:client">`+
|
||||
`<body>${message}</body>`+
|
||||
@ -466,18 +466,18 @@
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.bare_jid, [], []);
|
||||
await test_utils.waitUntil(() => _.filter(
|
||||
IQ_stanzas,
|
||||
iq => iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]')).length
|
||||
iq => iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]')).length
|
||||
);
|
||||
|
||||
let stanza = _.find(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector(
|
||||
'iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
'iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
});
|
||||
const info_IQ_id = IQ_ids[IQ_stanzas.indexOf(stanza)];
|
||||
stanza = $iq({
|
||||
'type': 'result',
|
||||
'from': 'localhost',
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'montague.lit',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'id': info_IQ_id
|
||||
}).c('query', {'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
.c('identity', {
|
||||
@ -491,8 +491,8 @@
|
||||
let entities = await _converse.api.disco.entities.get();
|
||||
|
||||
expect(entities.length).toBe(2);
|
||||
expect(_.includes(entities.pluck('jid'), 'localhost')).toBe(true);
|
||||
expect(_.includes(entities.pluck('jid'), 'dummy@localhost')).toBe(true);
|
||||
expect(_.includes(entities.pluck('jid'), 'montague.lit')).toBe(true);
|
||||
expect(_.includes(entities.pluck('jid'), 'romeo@montague.lit')).toBe(true);
|
||||
|
||||
expect(entities.get(_converse.domain).features.length).toBe(2);
|
||||
expect(entities.get(_converse.domain).identities.length).toBe(1);
|
||||
@ -501,22 +501,22 @@
|
||||
// Converse.js sees that the entity has a disco#items feature,
|
||||
// so it will make a query for it.
|
||||
return _.filter(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#items"]');
|
||||
return iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#items"]');
|
||||
}).length > 0;
|
||||
}, 300);
|
||||
|
||||
stanza = _.find(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector('iq[to="localhost"] query[xmlns="http://jabber.org/protocol/disco#items"]');
|
||||
return iq.querySelector('iq[to="montague.lit"] query[xmlns="http://jabber.org/protocol/disco#items"]');
|
||||
});
|
||||
var items_IQ_id = IQ_ids[IQ_stanzas.indexOf(stanza)];
|
||||
stanza = $iq({
|
||||
'type': 'result',
|
||||
'from': 'localhost',
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'montague.lit',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'id': items_IQ_id
|
||||
}).c('query', {'xmlns': 'http://jabber.org/protocol/disco#items'})
|
||||
.c('item', {
|
||||
'jid': 'upload.localhost',
|
||||
'jid': 'upload.montague.lit',
|
||||
'name': 'HTTP File Upload'});
|
||||
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
@ -524,24 +524,24 @@
|
||||
entities = await _converse.api.disco.entities.get()
|
||||
|
||||
expect(entities.length).toBe(2);
|
||||
expect(entities.get('localhost').items.length).toBe(1);
|
||||
expect(entities.get('montague.lit').items.length).toBe(1);
|
||||
await test_utils.waitUntil(function () {
|
||||
// Converse.js sees that the entity has a disco#info feature,
|
||||
// so it will make a query for it.
|
||||
return _.filter(IQ_stanzas, function (iq) {
|
||||
return iq.querySelector('iq[to="upload.localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
return iq.querySelector('iq[to="upload.montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]');
|
||||
}).length > 0;
|
||||
}, 300);
|
||||
|
||||
stanza = _.find(IQ_stanzas, iq => iq.querySelector('iq[to="upload.localhost"] query[xmlns="http://jabber.org/protocol/disco#info"]'));
|
||||
stanza = _.find(IQ_stanzas, iq => iq.querySelector('iq[to="upload.montague.lit"] query[xmlns="http://jabber.org/protocol/disco#info"]'));
|
||||
const IQ_id = IQ_ids[IQ_stanzas.indexOf(stanza)];
|
||||
expect(Strophe.serialize(stanza)).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${IQ_id}" to="upload.localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${IQ_id}" to="upload.montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<query xmlns="http://jabber.org/protocol/disco#info"/>`+
|
||||
`</iq>`);
|
||||
|
||||
// Upload service responds and reports a maximum file size of 5MiB
|
||||
stanza = $iq({'type': 'result', 'to': 'dummy@localhost/resource', 'id': IQ_id, 'from': 'upload.localhost'})
|
||||
stanza = $iq({'type': 'result', 'to': 'romeo@montague.lit/orchard', 'id': IQ_id, 'from': 'upload.montague.lit'})
|
||||
.c('query', {'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
.c('identity', {'category':'store', 'type':'file', 'name':'HTTP File Upload'}).up()
|
||||
.c('feature', {'var':'urn:xmpp:http:upload:0'}).up()
|
||||
@ -552,12 +552,12 @@
|
||||
.c('value').t('5242880');
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
entities = await _converse.api.disco.entities.get();
|
||||
expect(entities.get('localhost').items.get('upload.localhost').identities.where({'category': 'store'}).length).toBe(1);
|
||||
expect(entities.get('montague.lit').items.get('upload.montague.lit').identities.where({'category': 'store'}).length).toBe(1);
|
||||
await _converse.api.disco.supports(Strophe.NS.HTTPUPLOAD, _converse.domain);
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
var file = {
|
||||
@ -595,7 +595,7 @@
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'upload.montague.tld', [], [Strophe.NS.HTTPUPLOAD], []);
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
const file = {
|
||||
@ -609,7 +609,7 @@
|
||||
await test_utils.waitUntil(() => _.filter(IQ_stanzas, iq => iq.querySelector('iq[to="upload.montague.tld"] request')).length)
|
||||
const iq = IQ_stanzas.pop();
|
||||
expect(Strophe.serialize(iq)).toBe(
|
||||
`<iq from="dummy@localhost/resource" `+
|
||||
`<iq from="romeo@montague.lit/orchard" `+
|
||||
`id="${iq.getAttribute("id")}" `+
|
||||
`to="upload.montague.tld" `+
|
||||
`type="get" `+
|
||||
@ -626,7 +626,7 @@
|
||||
const stanza = u.toStanza(`
|
||||
<iq from="upload.montague.tld"
|
||||
id="${iq.getAttribute("id")}"
|
||||
to="dummy@localhost/resource"
|
||||
to="romeo@montague.lit/orchard"
|
||||
type="result">
|
||||
<slot xmlns="urn:xmpp:http:upload:0">
|
||||
<put url="https://upload.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my-juliet.jpg">
|
||||
|
@ -21,7 +21,7 @@
|
||||
expect(label.textContent).toBe('This is a trusted device');
|
||||
expect(checkbox.checked).toBe(true);
|
||||
|
||||
cbview.el.querySelector('input[name="jid"]').value = 'dummy@localhost';
|
||||
cbview.el.querySelector('input[name="jid"]').value = 'romeo@montague.lit';
|
||||
cbview.el.querySelector('input[name="password"]').value = 'secret';
|
||||
|
||||
spyOn(cbview.loginpanel, 'connect');
|
||||
@ -58,7 +58,7 @@
|
||||
expect(label.textContent).toBe('This is a trusted device');
|
||||
expect(checkbox.checked).toBe(false);
|
||||
|
||||
cbview.el.querySelector('input[name="jid"]').value = 'dummy@localhost';
|
||||
cbview.el.querySelector('input[name="jid"]').value = 'romeo@montague.lit';
|
||||
cbview.el.querySelector('input[name="password"]').value = 'secret';
|
||||
|
||||
spyOn(cbview.loginpanel, 'connect');
|
||||
|
20
spec/mam.js
20
spec/mam.js
@ -24,11 +24,11 @@
|
||||
null, ['discoInitialized'], {},
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'trek-radio', 'conference.lightwitch.org', 'dummy');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'trek-radio', 'conference.lightwitch.org', 'romeo');
|
||||
|
||||
const view = _converse.chatboxviews.get('trek-radio@conference.lightwitch.org');
|
||||
let stanza = u.toStanza(
|
||||
`<message xmlns="jabber:client" to="dummy@localhost/resource" type="groupchat" from="trek-radio@conference.lightwitch.org/some1">
|
||||
`<message xmlns="jabber:client" to="romeo@montague.lit/orchard" type="groupchat" from="trek-radio@conference.lightwitch.org/some1">
|
||||
<body>Hello</body>
|
||||
<stanza-id xmlns="urn:xmpp:sid:0" id="45fbbf2a-1059-479d-9283-c8effaf05621" by="trek-radio@conference.lightwitch.org"/>
|
||||
</message>`);
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
`<message xmlns="jabber:client"
|
||||
to="dummy@localhost/resource"
|
||||
to="romeo@montague.lit/orchard"
|
||||
from="trek-radio@conference.lightwitch.org">
|
||||
<result xmlns="urn:xmpp:mam:2" queryid="82d9db27-6cf8-4787-8c2c-5a560263d823" id="45fbbf2a-1059-479d-9283-c8effaf05621">
|
||||
<forwarded xmlns="urn:xmpp:forward:0">
|
||||
@ -111,10 +111,10 @@
|
||||
null, ['discoInitialized'], {},
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'discuss', 'conference.conversejs.org', 'dummy');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'discuss', 'conference.conversejs.org', 'romeo');
|
||||
const view = _converse.chatboxviews.get('discuss@conference.conversejs.org');
|
||||
let stanza = u.toStanza(
|
||||
`<message xmlns="jabber:client" to="dummy@localhost/resource" from="discuss@conference.conversejs.org">
|
||||
`<message xmlns="jabber:client" to="romeo@montague.lit/orchard" from="discuss@conference.conversejs.org">
|
||||
<result xmlns="urn:xmpp:mam:2" queryid="06fea9ca-97c9-48c4-8583-009ff54ea2e8" id="7a9fde91-4387-4bf8-b5d3-978dab8f6bf3">
|
||||
<forwarded xmlns="urn:xmpp:forward:0">
|
||||
<delay xmlns="urn:xmpp:delay" stamp="2018-12-05T04:53:12Z"/>
|
||||
@ -132,7 +132,7 @@
|
||||
expect(view.content.querySelectorAll('.chat-msg').length).toBe(1);
|
||||
|
||||
stanza = u.toStanza(
|
||||
`<message xmlns="jabber:client" to="dummy@localhost/resource" from="discuss@conference.conversejs.org">
|
||||
`<message xmlns="jabber:client" to="romeo@montague.lit/orchard" from="discuss@conference.conversejs.org">
|
||||
<result xmlns="urn:xmpp:mam:2" queryid="06fea9ca-97c9-48c4-8583-009ff54ea2e8" id="7a9fde91-4387-4bf8-b5d3-978dab8f6bf3">
|
||||
<forwarded xmlns="urn:xmpp:forward:0">
|
||||
<delay xmlns="urn:xmpp:delay" stamp="2018-12-05T04:53:12Z"/>
|
||||
@ -272,13 +272,13 @@
|
||||
* </result>
|
||||
* </message>
|
||||
*/
|
||||
const msg1 = $msg({'id':'iasd207', 'from': 'other@chat.shakespear.lit', 'to': 'dummy@localhost'})
|
||||
const msg1 = $msg({'id':'iasd207', 'from': 'other@chat.shakespear.lit', 'to': 'romeo@montague.lit'})
|
||||
.c('result', {'xmlns': 'urn:xmpp:mam:2', 'queryid':queryid, 'id':'34482-21985-73620'})
|
||||
.c('forwarded', {'xmlns':'urn:xmpp:forward:0'})
|
||||
.c('delay', {'xmlns':'urn:xmpp:delay', 'stamp':'2010-07-10T23:08:25Z'}).up()
|
||||
.c('message', {
|
||||
'xmlns':'jabber:client',
|
||||
'to':'dummy@localhost',
|
||||
'to':'romeo@montague.lit',
|
||||
'id':'162BEBB1-F6DB-4D9A-9BD8-CFDCC801A0B2',
|
||||
'from':'coven@chat.shakespeare.lit/firstwitch',
|
||||
'type':'groupchat' })
|
||||
@ -728,7 +728,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, _converse.bare_jid, null, [Strophe.NS.MAM]);
|
||||
|
||||
@ -747,7 +747,7 @@
|
||||
`<query queryid="${queryid}" xmlns="urn:xmpp:mam:2">`+
|
||||
`<x type="submit" xmlns="jabber:x:data">`+
|
||||
`<field type="hidden" var="FORM_TYPE"><value>urn:xmpp:mam:2</value></field>`+
|
||||
`<field var="with"><value>max.frankfurter@localhost</value></field>`+
|
||||
`<field var="with"><value>mercutio@montague.lit</value></field>`+
|
||||
`</x>`+
|
||||
`<set xmlns="http://jabber.org/protocol/rsm"><max>50</max><before></before></set>`+
|
||||
`</query>`+
|
||||
|
398
spec/messages.js
398
spec/messages.js
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,7 @@
|
||||
_converse.minimized_chats.toggleview.model.browserStorage._clear();
|
||||
_converse.minimized_chats.initToggle();
|
||||
|
||||
let contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
let contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid)
|
||||
let chatview = _converse.chatboxviews.get(contact_jid);
|
||||
expect(chatview.model.get('minimized')).toBeFalsy();
|
||||
@ -31,7 +31,7 @@
|
||||
expect(_converse.minimized_chats.keys().length).toBe(1);
|
||||
expect(_converse.minimized_chats.keys()[0]).toBe(contact_jid);
|
||||
|
||||
contact_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
contact_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
chatview = _converse.chatboxviews.get(contact_jid);
|
||||
expect(chatview.model.get('minimized')).toBeFalsy();
|
||||
@ -55,7 +55,7 @@
|
||||
_converse.minimized_chats.toggleview.model.browserStorage._clear();
|
||||
_converse.minimized_chats.initToggle();
|
||||
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const chatview = _converse.chatboxviews.get(contact_jid);
|
||||
expect(u.isVisible(_converse.minimized_chats.el)).toBeFalsy();
|
||||
@ -90,7 +90,7 @@
|
||||
expect(_.isNull(unread_el)).toBe(true);
|
||||
|
||||
for (i=0; i<3; i++) {
|
||||
contact_jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
contact_jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
}
|
||||
test_utils.waitUntil(() => _converse.chatboxes.length == 4).then(() => {
|
||||
@ -161,13 +161,13 @@
|
||||
var view = _converse.chatboxviews.get(room_jid);
|
||||
view.model.set({'minimized': true});
|
||||
|
||||
var contact_jid = mock.cur_names[5].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
var contact_jid = mock.cur_names[5].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
var message = 'fires: Your attention is required';
|
||||
var nick = mock.chatroom_names[0],
|
||||
msg = $msg({
|
||||
from: room_jid+'/'+nick,
|
||||
id: (new Date()).getTime(),
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@montague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t(message).tree();
|
||||
view.model.onMessage(msg);
|
||||
|
906
spec/muc.js
906
spec/muc.js
File diff suppressed because it is too large
Load Diff
@ -26,7 +26,7 @@
|
||||
spyOn(_converse, 'isMessageToHiddenChat').and.returnValue(true);
|
||||
|
||||
const message = 'This message will show a desktop notification';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
msg = $msg({
|
||||
from: sender_jid,
|
||||
to: _converse.connection.jid,
|
||||
@ -47,8 +47,8 @@
|
||||
async (done, _converse) => {
|
||||
|
||||
await test_utils.createContacts(_converse, 'current');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
const view = _converse.api.chatviews.get('lounge@localhost');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
const view = _converse.api.chatviews.get('lounge@montague.lit');
|
||||
if (!view.el.querySelectorAll('.chat-area').length) {
|
||||
view.renderChatArea();
|
||||
}
|
||||
@ -64,12 +64,12 @@
|
||||
spyOn(_converse, 'showMessageNotification').and.callThrough();
|
||||
spyOn(_converse, 'areDesktopNotificationsEnabled').and.returnValue(true);
|
||||
|
||||
const message = 'dummy: This message will show a desktop notification';
|
||||
const message = 'romeo: This message will show a desktop notification';
|
||||
const nick = mock.chatroom_names[0],
|
||||
msg = $msg({
|
||||
from: 'lounge@localhost/'+nick,
|
||||
from: 'lounge@montague.lit/'+nick,
|
||||
id: (new Date()).getTime(),
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@montague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t(message).tree();
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
const stanza = $msg({
|
||||
'type': 'headline',
|
||||
'from': 'notify.example.com',
|
||||
'to': 'dummy@localhost',
|
||||
'to': 'romeo@montague.lit',
|
||||
'xml:lang': 'en'
|
||||
})
|
||||
.c('subject').t('SIEVE').up()
|
||||
@ -120,7 +120,7 @@
|
||||
const stanza = $msg({
|
||||
'type': 'headline',
|
||||
'from': 'someone@notify.example.com',
|
||||
'to': 'dummy@localhost',
|
||||
'to': 'romeo@montague.lit',
|
||||
'xml:lang': 'en'
|
||||
})
|
||||
.c('subject').t('SIEVE').up()
|
||||
@ -143,7 +143,7 @@
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
spyOn(_converse, 'areDesktopNotificationsEnabled').and.returnValue(true);
|
||||
spyOn(_converse, 'showChatStateNotification');
|
||||
const jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = mock.cur_names[2].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'busy'); // This will emit 'contactStatusChanged'
|
||||
expect(_converse.areDesktopNotificationsEnabled).toHaveBeenCalled();
|
||||
expect(_converse.showChatStateNotification).toHaveBeenCalled();
|
||||
@ -173,18 +173,18 @@
|
||||
async (done, _converse) => {
|
||||
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
_converse.play_sounds = true;
|
||||
spyOn(_converse, 'playSoundNotification');
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
if (!view.el.querySelectorAll('.chat-area').length) {
|
||||
view.renderChatArea();
|
||||
}
|
||||
let text = 'This message will play a sound because it mentions dummy';
|
||||
let text = 'This message will play a sound because it mentions romeo';
|
||||
let message = $msg({
|
||||
from: 'lounge@localhost/otheruser',
|
||||
from: 'lounge@montague.lit/otheruser',
|
||||
id: '1',
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@montague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t(text);
|
||||
await view.model.onMessage(message.nodeTree);
|
||||
@ -193,20 +193,20 @@
|
||||
|
||||
text = "This message won't play a sound";
|
||||
message = $msg({
|
||||
from: 'lounge@localhost/otheruser',
|
||||
from: 'lounge@montague.lit/otheruser',
|
||||
id: '2',
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@montague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t(text);
|
||||
await view.model.onMessage(message.nodeTree);
|
||||
expect(_converse.playSoundNotification, 1);
|
||||
_converse.play_sounds = false;
|
||||
|
||||
text = "This message won't play a sound because it is sent by dummy";
|
||||
text = "This message won't play a sound because it is sent by romeo";
|
||||
message = $msg({
|
||||
from: 'lounge@localhost/dummy',
|
||||
from: 'lounge@montague.lit/romeo',
|
||||
id: '3',
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@montague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t(text);
|
||||
await view.model.onMessage(message.nodeTree);
|
||||
|
108
spec/omemo.js
108
spec/omemo.js
@ -83,7 +83,7 @@
|
||||
const message = 'This message will be encrypted'
|
||||
test_utils.createContacts(_converse, 'current', 1);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const view = await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
const payload = await view.model.encryptMessage(message);
|
||||
const result = await view.model.decryptMessage(payload);
|
||||
@ -100,7 +100,7 @@
|
||||
let sent_stanza;
|
||||
test_utils.createContacts(_converse, 'current', 1);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.waitUntil(() => initializedOMEMO(_converse));
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, contact_jid));
|
||||
@ -171,8 +171,8 @@
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
await test_utils.waitUntil(() => sent_stanza);
|
||||
expect(sent_stanza.toLocaleString()).toBe(
|
||||
`<message from="dummy@localhost/resource" id="${sent_stanza.nodeTree.getAttribute("id")}" `+
|
||||
`to="max.frankfurter@localhost" `+
|
||||
`<message from="romeo@montague.lit/orchard" id="${sent_stanza.nodeTree.getAttribute("id")}" `+
|
||||
`to="mercutio@montague.lit" `+
|
||||
`type="chat" xmlns="jabber:client">`+
|
||||
`<body>This is an OMEMO encrypted message which your client doesn’t seem to support. Find more information on https://conversations.im/omemo</body>`+
|
||||
`<request xmlns="urn:xmpp:receipts"/>`+
|
||||
@ -250,8 +250,8 @@
|
||||
'muc_unmoderated',
|
||||
'muc_nonanonymous'
|
||||
];
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy', features);
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo', features);
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
await test_utils.waitUntil(() => initializedOMEMO(_converse));
|
||||
|
||||
const toolbar = view.el.querySelector('.chat-toolbar');
|
||||
@ -260,15 +260,15 @@
|
||||
expect(view.model.get('omemo_active')).toBe(true);
|
||||
|
||||
// newguy enters the room
|
||||
const contact_jid = 'newguy@localhost';
|
||||
const contact_jid = 'newguy@montague.lit';
|
||||
let stanza = $pres({
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'lounge@localhost/newguy'
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'from': 'lounge@montague.lit/newguy'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'newguy@localhost/_converse.js-290929789',
|
||||
'jid': 'newguy@montague.lit/_converse.js-290929789',
|
||||
'role': 'participant'
|
||||
}).tree();
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
@ -276,7 +276,7 @@
|
||||
// Wait for Converse to fetch newguy's device list
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, contact_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.devicelist"/>`+
|
||||
`</pubsub>`+
|
||||
@ -361,9 +361,9 @@
|
||||
const sent_stanza = _converse.connection.send.calls.all()[0].args[0];
|
||||
|
||||
expect(Strophe.serialize(sent_stanza)).toBe(
|
||||
`<message from="dummy@localhost/resource" `+
|
||||
`<message from="romeo@montague.lit/orchard" `+
|
||||
`id="${sent_stanza.nodeTree.getAttribute("id")}" `+
|
||||
`to="lounge@localhost" `+
|
||||
`to="lounge@montague.lit" `+
|
||||
`type="groupchat" `+
|
||||
`xmlns="jabber:client">`+
|
||||
`<body>This is an OMEMO encrypted message which your client doesn’t seem to support. Find more information on https://conversations.im/omemo</body>`+
|
||||
@ -391,7 +391,7 @@
|
||||
let sent_stanza;
|
||||
test_utils.createContacts(_converse, 'current', 1);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.waitUntil(() => initializedOMEMO(_converse));
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, contact_jid));
|
||||
@ -416,17 +416,17 @@
|
||||
// Test reception of an encrypted carbon message
|
||||
const obj = await view.model.encryptMessage('This is an encrypted carbon message from another device of mine')
|
||||
const carbon = u.toStanza(`
|
||||
<message xmlns="jabber:client" to="dummy@localhost/resource" from="dummy@localhost" type="chat">
|
||||
<message xmlns="jabber:client" to="romeo@montague.lit/orchard" from="romeo@montague.lit" type="chat">
|
||||
<sent xmlns="urn:xmpp:carbons:2">
|
||||
<forwarded xmlns="urn:xmpp:forward:0">
|
||||
<message xmlns="jabber:client"
|
||||
from="dummy@localhost/gajim.HE02SW1L"
|
||||
from="romeo@montague.lit/gajim.HE02SW1L"
|
||||
xml:lang="en"
|
||||
to="${contact_jid}/gajim.0LATM5V2"
|
||||
type="chat" id="87141781-61d6-4eb3-9a31-429935a61b76">
|
||||
|
||||
<archived xmlns="urn:xmpp:mam:tmp" by="dummy@localhost" id="1554033877043470"/>
|
||||
<stanza-id xmlns="urn:xmpp:sid:0" by="dummy@localhost" id="1554033877043470"/>
|
||||
<archived xmlns="urn:xmpp:mam:tmp" by="romeo@montague.lit" id="1554033877043470"/>
|
||||
<stanza-id xmlns="urn:xmpp:sid:0" by="romeo@montague.lit" id="1554033877043470"/>
|
||||
<request xmlns="urn:xmpp:receipts"/>
|
||||
<active xmlns="http://jabber.org/protocol/chatstates"/>
|
||||
<origin-id xmlns="urn:xmpp:sid:0" id="87141781-61d6-4eb3-9a31-429935a61b76"/>
|
||||
@ -465,7 +465,7 @@
|
||||
});
|
||||
iq_stanza = await test_utils.waitUntil(() => bundleFetched(_converse, _converse.bare_jid, '988349631'));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="${_converse.bare_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="${_converse.bare_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.bundles:988349631"/>`+
|
||||
`</pubsub>`+
|
||||
@ -490,19 +490,19 @@
|
||||
'muc_unmoderated',
|
||||
'muc_nonanonymous'
|
||||
];
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy', features);
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo', features);
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
await test_utils.waitUntil(() => initializedOMEMO(_converse));
|
||||
|
||||
const contact_jid = 'newguy@localhost';
|
||||
const contact_jid = 'newguy@montague.lit';
|
||||
let stanza = $pres({
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'lounge@localhost/newguy'
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'from': 'lounge@montague.lit/newguy'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'newguy@localhost/_converse.js-290929789',
|
||||
'jid': 'newguy@montague.lit/_converse.js-290929789',
|
||||
'role': 'participant'
|
||||
}).tree();
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
@ -522,7 +522,7 @@
|
||||
});
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, contact_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.devicelist"/>`+
|
||||
`</pubsub>`+
|
||||
@ -594,7 +594,7 @@
|
||||
const header = document.querySelector('.alert-danger .modal-title');
|
||||
expect(header.textContent).toBe("Error");
|
||||
expect(u.ancestor(header, '.modal-content').querySelector('.modal-body p').textContent.trim())
|
||||
.toBe("Sorry, we're unable to send an encrypted message because newguy@localhost requires you "+
|
||||
.toBe("Sorry, we're unable to send an encrypted message because newguy@montague.lit requires you "+
|
||||
"to be subscribed to their presence in order to see their OMEMO information");
|
||||
|
||||
expect(view.model.get('omemo_supported')).toBe(false);
|
||||
@ -611,7 +611,7 @@
|
||||
let view, sent_stanza;
|
||||
test_utils.createContacts(_converse, 'current', 1);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
await test_utils.waitUntil(() => initializedOMEMO(_converse));
|
||||
const obj = await _converse.ChatBox.prototype.encryptMessage('This is an encrypted message from the contact');
|
||||
@ -666,7 +666,7 @@
|
||||
|
||||
iq_stanza = await test_utils.waitUntil(() => bundleHasBeenPublished(_converse));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" type="set" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" type="set" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<publish node="eu.siacs.conversations.axolotl.bundles:123456789">`+
|
||||
`<item>`+
|
||||
@ -715,12 +715,12 @@
|
||||
);
|
||||
|
||||
test_utils.createContacts(_converse, 'current', 1);
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
// Wait until own devices are fetched
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, _converse.bare_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="dummy@localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="romeo@montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.devicelist"/>`+
|
||||
`</pubsub>`+
|
||||
@ -841,7 +841,7 @@
|
||||
// Check that our own device is added again, but that removed
|
||||
// devices are not added.
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute(`id`)}" type="set" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute(`id`)}" type="set" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<publish node="eu.siacs.conversations.axolotl.devicelist">`+
|
||||
`<item>`+
|
||||
@ -889,10 +889,10 @@
|
||||
);
|
||||
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
const contact_jid = mock.cur_names[3].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[3].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, _converse.bare_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="dummy@localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="romeo@montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.devicelist"/>`+
|
||||
`</pubsub>`+
|
||||
@ -1042,7 +1042,7 @@
|
||||
|
||||
test_utils.createContacts(_converse, 'current', 1);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, _converse.bare_jid));
|
||||
let stanza = $iq({
|
||||
'from': contact_jid,
|
||||
@ -1067,7 +1067,7 @@
|
||||
|
||||
iq_stanza = await test_utils.waitUntil(() => bundleHasBeenPublished(_converse));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" type="set" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" type="set" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<publish node="eu.siacs.conversations.axolotl.bundles:123456789">`+
|
||||
`<item>`+
|
||||
@ -1119,11 +1119,11 @@
|
||||
|
||||
test_utils.createContacts(_converse, 'current', 1);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, _converse.bare_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="dummy@localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="romeo@montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.devicelist"/>`+
|
||||
`</pubsub>`+
|
||||
@ -1149,7 +1149,7 @@
|
||||
// Check that own device was published
|
||||
iq_stanza = await test_utils.waitUntil(() => ownDeviceHasBeenPublished(_converse));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute(`id`)}" type="set" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute(`id`)}" type="set" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<publish node="eu.siacs.conversations.axolotl.devicelist">`+
|
||||
`<item>`+
|
||||
@ -1200,7 +1200,7 @@
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, contact_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.devicelist"/>`+
|
||||
`</pubsub>`+
|
||||
@ -1293,8 +1293,8 @@
|
||||
'muc_unmoderated',
|
||||
'muc_nonanonymous'
|
||||
];
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy', features);
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo', features);
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
await test_utils.waitUntil(() => initializedOMEMO(_converse));
|
||||
|
||||
const toolbar = view.el.querySelector('.chat-toolbar');
|
||||
@ -1314,22 +1314,22 @@
|
||||
expect(u.hasClass('disabled', toggle)).toBe(false);
|
||||
expect(view.model.get('omemo_supported')).toBe(true);
|
||||
|
||||
let contact_jid = 'newguy@localhost';
|
||||
let contact_jid = 'newguy@montague.lit';
|
||||
let stanza = $pres({
|
||||
to: 'dummy@localhost/resource',
|
||||
from: 'lounge@localhost/newguy'
|
||||
to: 'romeo@montague.lit/orchard',
|
||||
from: 'lounge@montague.lit/newguy'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'newguy@localhost/_converse.js-290929789',
|
||||
'jid': 'newguy@montague.lit/_converse.js-290929789',
|
||||
'role': 'participant'
|
||||
}).tree();
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, contact_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.devicelist"/>`+
|
||||
`</pubsub>`+
|
||||
@ -1401,10 +1401,10 @@
|
||||
|
||||
// Someone enters the room who doesn't have OMEMO support, while we
|
||||
// have OMEMO activated...
|
||||
contact_jid = 'oldguy@localhost';
|
||||
contact_jid = 'oldguy@montague.lit';
|
||||
stanza = $pres({
|
||||
to: 'dummy@localhost/resource',
|
||||
from: 'lounge@localhost/oldguy'
|
||||
to: 'romeo@montague.lit/orchard',
|
||||
from: 'lounge@montague.lit/oldguy'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
@ -1415,7 +1415,7 @@
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, contact_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="${contact_jid}" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.devicelist"/>`+
|
||||
`</pubsub>`+
|
||||
@ -1466,7 +1466,7 @@
|
||||
|
||||
test_utils.createContacts(_converse, 'current', 1);
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid)
|
||||
// We simply emit, to avoid doing all the setup work
|
||||
_converse.api.trigger('OMEMOInitialized');
|
||||
@ -1478,7 +1478,7 @@
|
||||
await test_utils.waitUntil(() => u.isVisible(modal.el), 1000);
|
||||
let iq_stanza = await test_utils.waitUntil(() => deviceListFetched(_converse, contact_jid));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="max.frankfurter@localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="mercutio@montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub"><items node="eu.siacs.conversations.axolotl.devicelist"/></pubsub>`+
|
||||
`</iq>`);
|
||||
let stanza = $iq({
|
||||
@ -1495,7 +1495,7 @@
|
||||
await test_utils.waitUntil(() => u.isVisible(modal.el), 1000);
|
||||
iq_stanza = await test_utils.waitUntil(() => bundleFetched(_converse, contact_jid, '555'));
|
||||
expect(Strophe.serialize(iq_stanza)).toBe(
|
||||
`<iq from="dummy@localhost" id="${iq_stanza.getAttribute("id")}" to="max.frankfurter@localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${iq_stanza.getAttribute("id")}" to="mercutio@montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
|
||||
`<items node="eu.siacs.conversations.axolotl.bundles:555"/>`+
|
||||
`</pubsub>`+
|
||||
|
@ -44,7 +44,7 @@
|
||||
});
|
||||
_converse.ping();
|
||||
expect(sent_stanza.toLocaleString()).toBe(
|
||||
`<iq id="${IQ_id}" to="localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq id="${IQ_id}" to="montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<ping xmlns="urn:xmpp:ping"/>`+
|
||||
`</iq>`);
|
||||
done();
|
||||
|
@ -120,11 +120,11 @@
|
||||
|
||||
test_utils.openControlBox();
|
||||
test_utils.createContacts(_converse, 'current'); // Create some contacts so that we can test positioning
|
||||
const contact_jid = mock.cur_names[8].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[8].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const contact = _converse.roster.get(contact_jid);
|
||||
let stanza = u.toStanza(`
|
||||
<presence xmlns="jabber:client"
|
||||
to="dummy@localhost/converse.js-21770972"
|
||||
to="romeo@montague.lit/converse.js-21770972"
|
||||
from="${contact_jid}/priority-1-resource">
|
||||
<priority>1</priority>
|
||||
<c xmlns="http://jabber.org/protocol/caps" hash="sha-1" ext="voice-v1 camera-v1 video-v1"
|
||||
@ -142,7 +142,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' from="'+contact_jid+'/priority-0-resource">'+
|
||||
' <status/>'+
|
||||
' <priority>0</priority>'+
|
||||
@ -162,7 +162,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' from="'+contact_jid+'/priority-2-resource">'+
|
||||
' <priority>2</priority>'+
|
||||
' <show>dnd</show>'+
|
||||
@ -179,7 +179,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' from="'+contact_jid+'/priority-3-resource">'+
|
||||
' <priority>3</priority>'+
|
||||
' <show>away</show>'+
|
||||
@ -198,7 +198,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' from="'+contact_jid+'/older-priority-1-resource">'+
|
||||
' <priority>1</priority>'+
|
||||
' <show>dnd</show>'+
|
||||
@ -220,7 +220,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' type="unavailable"'+
|
||||
' from="'+contact_jid+'/priority-3-resource">'+
|
||||
'</presence>');
|
||||
@ -238,7 +238,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' type="unavailable"'+
|
||||
' from="'+contact_jid+'/priority-2-resource">'+
|
||||
'</presence>');
|
||||
@ -254,7 +254,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' type="unavailable"'+
|
||||
' from="'+contact_jid+'/priority-1-resource">'+
|
||||
'</presence>');
|
||||
@ -268,7 +268,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' type="unavailable"'+
|
||||
' from="'+contact_jid+'/older-priority-1-resource">'+
|
||||
'</presence>');
|
||||
@ -280,7 +280,7 @@
|
||||
|
||||
stanza = u.toStanza(
|
||||
'<presence xmlns="jabber:client"'+
|
||||
' to="dummy@localhost/converse.js-21770972"'+
|
||||
' to="romeo@montague.lit/converse.js-21770972"'+
|
||||
' type="unavailable"'+
|
||||
' from="'+contact_jid+'/priority-0-resource">'+
|
||||
'</presence>');
|
||||
|
@ -55,7 +55,7 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
var contact, sent_stanza, IQ_id, stanza, modal;
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'localhost', [], ['vcard-temp']);
|
||||
await test_utils.waitUntilDiscoConfirmed(_converse, 'montague.lit', [], ['vcard-temp']);
|
||||
await test_utils.waitUntil(() => _converse.xmppstatus.vcard.get('fullname'), 300);
|
||||
/* The process by which a user subscribes to a contact, including
|
||||
* the interaction between roster items and subscription states.
|
||||
@ -177,7 +177,7 @@
|
||||
expect(contact.subscribe).toHaveBeenCalled();
|
||||
expect(sent_stanza.toLocaleString()).toBe( // Strophe adds the xmlns attr (although not in spec)
|
||||
`<presence to="contact@example.org" type="subscribe" xmlns="jabber:client">`+
|
||||
`<nick xmlns="http://jabber.org/protocol/nick">Max Mustermann</nick>`+
|
||||
`<nick xmlns="http://jabber.org/protocol/nick">Romeo Montague</nick>`+
|
||||
`</presence>`
|
||||
);
|
||||
/* As a result, the user's server MUST initiate a second roster
|
||||
@ -274,7 +274,7 @@
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
// Check that the IQ set was acknowledged.
|
||||
expect(Strophe.serialize(sent_stanza)).toBe( // Strophe adds the xmlns attr (although not in spec)
|
||||
`<iq from="dummy@localhost/resource" id="${IQ_id}" type="result" xmlns="jabber:client"/>`
|
||||
`<iq from="romeo@montague.lit/orchard" id="${IQ_id}" type="result" xmlns="jabber:client"/>`
|
||||
);
|
||||
expect(_converse.roster.updateContact).toHaveBeenCalled();
|
||||
|
||||
@ -362,7 +362,7 @@
|
||||
expect(u.hasClass('to', contacts[0])).toBe(false);
|
||||
expect(u.hasClass('both', contacts[0])).toBe(true);
|
||||
done();
|
||||
|
||||
|
||||
}));
|
||||
|
||||
it("Alternate Flow: Contact Declines Subscription Request",
|
||||
@ -458,7 +458,7 @@
|
||||
{ roster_groups: false },
|
||||
async function (done, _converse) {
|
||||
|
||||
var sent_IQ, IQ_id, jid = 'annegreet.gomez@localhost';
|
||||
var sent_IQ, IQ_id, jid = 'abram@montague.lit';
|
||||
test_utils.openControlBox(_converse);
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
spyOn(window, 'confirm').and.returnValue(true);
|
||||
@ -472,7 +472,7 @@
|
||||
});
|
||||
const header = sizzle('a:contains("My contacts")', _converse.rosterview.el).pop();
|
||||
await test_utils.waitUntil(() => header.parentElement.querySelectorAll('li').length);
|
||||
|
||||
|
||||
// remove the first user
|
||||
header.parentElement.querySelector('li .remove-xmpp-contact').click();
|
||||
expect(window.confirm).toHaveBeenCalled();
|
||||
@ -499,7 +499,7 @@
|
||||
expect(sent_IQ.toLocaleString()).toBe(
|
||||
`<iq id="${IQ_id}" type="set" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:roster">`+
|
||||
`<item jid="annegreet.gomez@localhost" subscription="remove"/>`+
|
||||
`<item jid="abram@montague.lit" subscription="remove"/>`+
|
||||
`</query>`+
|
||||
`</iq>`);
|
||||
|
||||
|
@ -78,12 +78,12 @@
|
||||
`<enable jid="push-5@client.example" node="yxs32uqsflafdk3iuqo" xmlns="urn:xmpp:push:0"/>`+
|
||||
`</iq>`
|
||||
);
|
||||
const result = u.toStanza(`<iq type="result" id="${iq.getAttribute('id')}" to="dummy@localhost" />`);
|
||||
const result = u.toStanza(`<iq type="result" id="${iq.getAttribute('id')}" to="romeo@montague.lit" />`);
|
||||
_converse.connection._dataRecv(test_utils.createRequest(result));
|
||||
|
||||
await test_utils.waitUntil(() => _converse.session.get('push_enabled'));
|
||||
expect(_converse.session.get('push_enabled').length).toBe(1);
|
||||
expect(_.includes(_converse.session.get('push_enabled'), 'dummy@localhost')).toBe(true);
|
||||
expect(_.includes(_converse.session.get('push_enabled'), 'romeo@montague.lit')).toBe(true);
|
||||
|
||||
test_utils.openAndEnterChatRoom(_converse, 'coven', 'chat.shakespeare.lit', 'oldhag');
|
||||
await test_utils.waitUntilDiscoConfirmed(
|
||||
|
@ -36,7 +36,7 @@
|
||||
).pop());
|
||||
}).then(stanza => {
|
||||
expect(Strophe.serialize(stanza))
|
||||
.toBe(`<iq from="dummy@localhost/resource" id="${stanza.getAttribute('id')}" to="coven@chat.shakespeare.lit" `+
|
||||
.toBe(`<iq from="romeo@montague.lit/orchard" id="${stanza.getAttribute('id')}" to="coven@chat.shakespeare.lit" `+
|
||||
`type="get" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:register"/></iq>`);
|
||||
view = _converse.chatboxviews.get(room_jid);
|
||||
@ -59,7 +59,7 @@
|
||||
).pop());
|
||||
}).then(stanza => {
|
||||
expect(Strophe.serialize(stanza)).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${stanza.getAttribute('id')}" to="coven@chat.shakespeare.lit" type="set" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${stanza.getAttribute('id')}" to="coven@chat.shakespeare.lit" type="set" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:register">`+
|
||||
`<x type="submit" xmlns="jabber:x:data">`+
|
||||
`<field var="FORM_TYPE"><value>http://jabber.org/protocol/muc#register</value></field>`+
|
||||
@ -94,7 +94,7 @@
|
||||
const features_stanza = $iq({
|
||||
'from': room_jid,
|
||||
'id': stanza.getAttribute('id'),
|
||||
'to': 'dummy@localhost/desktop',
|
||||
'to': 'romeo@montague.lit/desktop',
|
||||
'type': 'result'
|
||||
}).c('query', { 'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
.c('identity', {
|
||||
@ -129,7 +129,7 @@
|
||||
).pop());
|
||||
}).then(stanza => {
|
||||
expect(Strophe.serialize(stanza))
|
||||
.toBe(`<iq from="dummy@localhost/resource" id="${stanza.getAttribute('id')}" to="coven@chat.shakespeare.lit" `+
|
||||
.toBe(`<iq from="romeo@montague.lit/orchard" id="${stanza.getAttribute('id')}" to="coven@chat.shakespeare.lit" `+
|
||||
`type="get" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:register"/></iq>`);
|
||||
view = _converse.chatboxviews.get(room_jid);
|
||||
@ -152,7 +152,7 @@
|
||||
).pop());
|
||||
}).then(stanza => {
|
||||
expect(Strophe.serialize(stanza)).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${stanza.getAttribute('id')}" to="coven@chat.shakespeare.lit" type="set" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${stanza.getAttribute('id')}" to="coven@chat.shakespeare.lit" type="set" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:register">`+
|
||||
`<x type="submit" xmlns="jabber:x:data">`+
|
||||
`<field var="FORM_TYPE"><value>http://jabber.org/protocol/muc#register</value></field>`+
|
||||
|
@ -23,7 +23,7 @@
|
||||
let room_els = _converse.rooms_list_view.el.querySelectorAll(".open-room");
|
||||
expect(room_els.length).toBe(1);
|
||||
expect(room_els[0].innerText).toBe('room@conference.shakespeare.lit');
|
||||
await test_utils.openChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
await test_utils.openChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
room_els = _converse.rooms_list_view.el.querySelectorAll(".open-room");
|
||||
expect(room_els.length).toBe(2);
|
||||
|
||||
@ -31,11 +31,11 @@
|
||||
view.close();
|
||||
room_els = _converse.rooms_list_view.el.querySelectorAll(".open-room");
|
||||
expect(room_els.length).toBe(1);
|
||||
expect(room_els[0].innerText).toBe('lounge@localhost');
|
||||
expect(room_els[0].innerText).toBe('lounge@montague.lit');
|
||||
list = controlbox.el.querySelector('div.rooms-list-container');
|
||||
test_utils.waitUntil(() => _.includes(list.classList, 'hidden'));
|
||||
|
||||
view = _converse.chatboxviews.get('lounge@localhost');
|
||||
view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
view.close();
|
||||
room_els = _converse.rooms_list_view.el.querySelectorAll(".open-room");
|
||||
expect(room_els.length).toBe(0);
|
||||
@ -51,18 +51,18 @@
|
||||
{'connection': ['send']}, ['rosterGroupsFetched', 'chatBoxesFetched'], {'view_mode': 'fullscreen'},
|
||||
async function (done, _converse) {
|
||||
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
|
||||
const view = _converse.chatboxviews.get('lounge@localhost');
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'montague.lit', 'romeo');
|
||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||
|
||||
const contact_jid = 'newguy@localhost';
|
||||
const contact_jid = 'newguy@montague.lit';
|
||||
let stanza = $pres({
|
||||
to: 'dummy@localhost/resource',
|
||||
from: 'lounge@localhost/newguy'
|
||||
to: 'romeo@montague.lit/orchard',
|
||||
from: 'lounge@montague.lit/newguy'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'newguy@localhost/_converse.js-290929789',
|
||||
'jid': 'newguy@montague.lit/_converse.js-290929789',
|
||||
'role': 'participant'
|
||||
}).tree();
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
@ -82,7 +82,7 @@
|
||||
).pop()
|
||||
);
|
||||
expect(Strophe.serialize(call.args[0])).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${call.args[0].getAttribute('id')}" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${call.args[0].getAttribute('id')}" type="get" xmlns="jabber:client">`+
|
||||
'<pubsub xmlns="http://jabber.org/protocol/pubsub">'+
|
||||
'<items node="storage:bookmarks"/>'+
|
||||
'</pubsub>'+
|
||||
@ -95,7 +95,7 @@
|
||||
.c('storage', {'xmlns': 'storage:bookmarks'})
|
||||
.c('conference', {
|
||||
'name': 'Bookmarked Lounge',
|
||||
'jid': 'lounge@localhost'
|
||||
'jid': 'lounge@montague.lit'
|
||||
});
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
|
||||
@ -161,7 +161,7 @@
|
||||
const features_stanza = $iq({
|
||||
'from': 'coven@chat.shakespeare.lit',
|
||||
'id': IQ_id,
|
||||
'to': 'dummy@localhost/desktop',
|
||||
'to': 'romeo@montague.lit/desktop',
|
||||
'type': 'result'
|
||||
})
|
||||
.c('query', { 'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
@ -222,13 +222,13 @@
|
||||
'Not moderated - Participants entering this groupchat can write right away'
|
||||
);
|
||||
presence = $pres({
|
||||
to: 'dummy@localhost/_converse.js-29092160',
|
||||
to: 'romeo@montague.lit/_converse.js-29092160',
|
||||
from: 'coven@chat.shakespeare.lit/newguy'
|
||||
})
|
||||
.c('x', {xmlns: Strophe.NS.MUC_USER})
|
||||
.c('item', {
|
||||
'affiliation': 'none',
|
||||
'jid': 'newguy@localhost/_converse.js-290929789',
|
||||
'jid': 'newguy@montague.lit/_converse.js-290929789',
|
||||
'role': 'participant'
|
||||
});
|
||||
_converse.connection._dataRecv(test_utils.createRequest(presence));
|
||||
@ -282,13 +282,13 @@
|
||||
await test_utils.openAndEnterChatRoom(_converse, 'kitchen', 'conference.shakespeare.lit', 'romeo');
|
||||
const view = _converse.chatboxviews.get(room_jid);
|
||||
view.model.set({'minimized': true});
|
||||
const contact_jid = mock.cur_names[5].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[5].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const nick = mock.chatroom_names[0];
|
||||
await view.model.onMessage(
|
||||
$msg({
|
||||
from: room_jid+'/'+nick,
|
||||
id: (new Date()).getTime(),
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@montague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t('foo').tree());
|
||||
|
||||
@ -301,7 +301,7 @@
|
||||
$msg({
|
||||
from: room_jid+'/'+nick,
|
||||
id: (new Date()).getTime(),
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@montague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t('romeo: Your attention is required').tree()
|
||||
);
|
||||
@ -313,7 +313,7 @@
|
||||
$msg({
|
||||
from: room_jid+'/'+nick,
|
||||
id: (new Date()).getTime(),
|
||||
to: 'dummy@localhost',
|
||||
to: 'romeo@montague.lit',
|
||||
type: 'groupchat'
|
||||
}).c('body').t('romeo: and another thing...').tree()
|
||||
);
|
||||
|
120
spec/roster.js
120
spec/roster.js
@ -150,32 +150,30 @@
|
||||
|
||||
const contacts = await test_utils.waitUntil(() => (sizzle('li', roster).filter(u.isVisible).length === 15), 600);
|
||||
expect(sizzle('ul.roster-group-contacts', roster).filter(u.isVisible).length).toBe(5);
|
||||
filter.value = "candice";
|
||||
filter.value = "juliet";
|
||||
u.triggerEvent(filter, "keydown", "KeyboardEvent");
|
||||
await test_utils.waitUntil(() => (sizzle('li', roster).filter(u.isVisible).length === 1), 600);
|
||||
// Only one roster contact is now visible
|
||||
let visible_contacts = sizzle('li', roster).filter(u.isVisible);
|
||||
expect(visible_contacts.length).toBe(1);
|
||||
expect(visible_contacts.pop().textContent.trim()).toBe('Candice van der Knijff');
|
||||
expect(visible_contacts.pop().textContent.trim()).toBe('Juliet Capulet');
|
||||
// Only one foster group is still visible
|
||||
expect(sizzle('.roster-group', roster).filter(u.isVisible).length).toBe(1);
|
||||
const visible_group = sizzle('.roster-group', roster).filter(u.isVisible).pop();
|
||||
expect(visible_group.querySelector('a.group-toggle').textContent.trim()).toBe('colleagues');
|
||||
|
||||
filter = _converse.rosterview.el.querySelector('.roster-filter');
|
||||
filter.value = "an";
|
||||
filter.value = "j";
|
||||
u.triggerEvent(filter, "keydown", "KeyboardEvent");
|
||||
await test_utils.waitUntil(() => (sizzle('li', roster).filter(u.isVisible).length === 5), 600);
|
||||
await test_utils.waitUntil(() => (sizzle('li', roster).filter(u.isVisible).length === 2), 700);
|
||||
|
||||
visible_contacts = sizzle('li', roster).filter(u.isVisible);
|
||||
expect(visible_contacts.length).toBe(5);
|
||||
expect(visible_contacts.length).toBe(2);
|
||||
|
||||
let visible_groups = sizzle('.roster-group', roster).filter(u.isVisible).map(el => el.querySelector('a.group-toggle'));
|
||||
expect(visible_groups.length).toBe(4);
|
||||
expect(visible_groups.length).toBe(2);
|
||||
expect(visible_groups[0].textContent.trim()).toBe('colleagues');
|
||||
expect(visible_groups[1].textContent.trim()).toBe('Family');
|
||||
expect(visible_groups[2].textContent.trim()).toBe('friends & acquaintences');
|
||||
expect(visible_groups[3].textContent.trim()).toBe('ænemies');
|
||||
expect(visible_groups[1].textContent.trim()).toBe('Ungrouped');
|
||||
|
||||
filter = _converse.rosterview.el.querySelector('.roster-filter');
|
||||
filter.value = "xxx";
|
||||
@ -205,35 +203,33 @@
|
||||
_converse.rosterview.filter_view.delegateEvents();
|
||||
|
||||
await test_utils.waitUntil(() => (sizzle('li', roster).filter(u.isVisible).length === 15), 600);
|
||||
filter.value = "an";
|
||||
filter.value = "la";
|
||||
u.triggerEvent(filter, "keydown", "KeyboardEvent");
|
||||
await test_utils.waitUntil(() => (sizzle('li', roster).filter(u.isVisible).length === 5), 600);
|
||||
await test_utils.waitUntil(() => (sizzle('li', roster).filter(u.isVisible).length === 3), 600);
|
||||
|
||||
// Five roster contact is now visible
|
||||
const visible_contacts = sizzle('li', roster).filter(u.isVisible);
|
||||
expect(visible_contacts.length).toBe(5);
|
||||
expect(visible_contacts.length).toBe(3);
|
||||
let visible_groups = sizzle('.roster-group', roster).filter(u.isVisible).map(el => el.querySelector('a.group-toggle'));
|
||||
expect(visible_groups.length).toBe(4);
|
||||
expect(visible_groups.length).toBe(3);
|
||||
expect(visible_groups[0].textContent.trim()).toBe('colleagues');
|
||||
expect(visible_groups[1].textContent.trim()).toBe('Family');
|
||||
expect(visible_groups[2].textContent.trim()).toBe('friends & acquaintences');
|
||||
expect(visible_groups[3].textContent.trim()).toBe('ænemies');
|
||||
|
||||
_converse.roster.create({
|
||||
jid: 'latecomer@localhost',
|
||||
jid: 'valentine@montague.lit',
|
||||
subscription: 'both',
|
||||
ask: null,
|
||||
groups: ['newgroup'],
|
||||
fullname: 'Marty McLatecomer'
|
||||
fullname: 'Valentine'
|
||||
});
|
||||
await test_utils.waitUntil(() => sizzle('.roster-group[data-group="newgroup"] li', roster).length, 300);
|
||||
visible_groups = sizzle('.roster-group', roster).filter(u.isVisible).map(el => el.querySelector('a.group-toggle'));
|
||||
// The "newgroup" group doesn't appear
|
||||
expect(visible_groups.length).toBe(4);
|
||||
expect(visible_groups.length).toBe(3);
|
||||
expect(visible_groups[0].textContent.trim()).toBe('colleagues');
|
||||
expect(visible_groups[1].textContent.trim()).toBe('Family');
|
||||
expect(visible_groups[2].textContent.trim()).toBe('friends & acquaintences');
|
||||
expect(visible_groups[3].textContent.trim()).toBe('ænemies');
|
||||
expect(roster.querySelectorAll('.roster-group').length).toBe(6);
|
||||
done();
|
||||
}));
|
||||
@ -310,9 +306,9 @@
|
||||
async function (done, _converse) {
|
||||
|
||||
test_utils.createGroupedContacts(_converse);
|
||||
let jid = mock.cur_names[3].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
let jid = mock.cur_names[3].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'online');
|
||||
jid = mock.cur_names[4].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[4].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'dnd');
|
||||
test_utils.openControlBox();
|
||||
const button = _converse.rosterview.el.querySelector('span[data-type="state"]');
|
||||
@ -325,13 +321,13 @@
|
||||
u.triggerEvent(filter, 'change');
|
||||
|
||||
await test_utils.waitUntil(() => sizzle('li', roster).filter(u.isVisible).length === 1, 900);
|
||||
expect(sizzle('li', roster).filter(u.isVisible).pop().textContent.trim()).toBe('Rinse Sommer');
|
||||
expect(sizzle('li', roster).filter(u.isVisible).pop().textContent.trim()).toBe('Lord Montague');
|
||||
await test_utils.waitUntil(() => sizzle('ul.roster-group-contacts', roster).filter(u.isVisible).length === 1, 900);
|
||||
const ul = sizzle('ul.roster-group-contacts', roster).filter(u.isVisible).pop();
|
||||
expect(ul.parentElement.firstElementChild.textContent.trim()).toBe('friends & acquaintences');
|
||||
filter.value = "dnd";
|
||||
u.triggerEvent(filter, 'change');
|
||||
await test_utils.waitUntil(() => sizzle('li', roster).filter(u.isVisible).pop().textContent.trim() === 'Annegreet Gomez', 900);
|
||||
await test_utils.waitUntil(() => sizzle('li', roster).filter(u.isVisible).pop().textContent.trim() === 'Friar Laurence', 900);
|
||||
expect(sizzle('ul.roster-group-contacts', roster).filter(u.isVisible).length).toBe(1);
|
||||
done();
|
||||
}));
|
||||
@ -389,7 +385,7 @@
|
||||
test_utils.openControlBox();
|
||||
|
||||
_converse.roster.create({
|
||||
jid: 'groupchanger@localhost',
|
||||
jid: 'groupchanger@montague.lit',
|
||||
subscription: 'both',
|
||||
ask: null,
|
||||
groups: ['firstgroup'],
|
||||
@ -408,7 +404,7 @@
|
||||
}, 1000);
|
||||
expect(group_titles).toEqual(['firstgroup']);
|
||||
|
||||
const contact = _converse.roster.get('groupchanger@localhost');
|
||||
const contact = _converse.roster.get('groupchanger@montague.lit');
|
||||
contact.set({'groups': ['secondgroup']});
|
||||
group_titles = await test_utils.waitUntil(() => {
|
||||
const toggles = sizzle('.roster-group[data-group="secondgroup"] a.group-toggle', _converse.rosterview.el);
|
||||
@ -433,7 +429,7 @@
|
||||
_converse.rosterview.render();
|
||||
for (var i=0; i<mock.cur_names.length; i++) {
|
||||
_converse.roster.create({
|
||||
jid: mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'both',
|
||||
ask: null,
|
||||
groups: groups,
|
||||
@ -469,7 +465,7 @@
|
||||
j = i;
|
||||
for (i=j; i<j+groups[name]; i++) {
|
||||
_converse.roster.create({
|
||||
jid: mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'both',
|
||||
ask: null,
|
||||
groups: name === 'ungrouped'? [] : [name],
|
||||
@ -518,7 +514,7 @@
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
test_utils.openControlBox();
|
||||
_converse.roster.create({
|
||||
jid: mock.pend_names[0].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: mock.pend_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'none',
|
||||
ask: 'subscribe',
|
||||
fullname: mock.pend_names[0]
|
||||
@ -566,7 +562,7 @@
|
||||
|
||||
_addContacts(_converse);
|
||||
const name = mock.pend_names[0];
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const contact = _converse.roster.get(jid);
|
||||
var sent_IQ;
|
||||
spyOn(window, 'confirm').and.returnValue(true);
|
||||
@ -585,7 +581,7 @@
|
||||
expect(sent_IQ.toLocaleString()).toBe(
|
||||
`<iq type="set" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:roster">`+
|
||||
`<item jid="suleyman.van.beusichem@localhost" subscription="remove"/>`+
|
||||
`<item jid="lord.capulet@montague.lit" subscription="remove"/>`+
|
||||
`</query>`+
|
||||
`</iq>`);
|
||||
done();
|
||||
@ -599,7 +595,7 @@
|
||||
test_utils.openControlBox();
|
||||
const name = mock.pend_names[0];
|
||||
_converse.roster.create({
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'none',
|
||||
ask: 'subscribe',
|
||||
fullname: name
|
||||
@ -619,11 +615,11 @@
|
||||
expect(Strophe.serialize(iq)).toBe(
|
||||
`<iq id="${iq.getAttribute('id')}" type="set" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:roster">`+
|
||||
`<item jid="suleyman.van.beusichem@localhost" subscription="remove"/>`+
|
||||
`<item jid="lord.capulet@montague.lit" subscription="remove"/>`+
|
||||
`</query>`+
|
||||
`</iq>`);
|
||||
|
||||
const stanza = u.toStanza(`<iq id="${iq.getAttribute('id')}" to="dummy@localhost/resource" type="result"/>`);
|
||||
const stanza = u.toStanza(`<iq id="${iq.getAttribute('id')}" to="romeo@montague.lit/orchard" type="result"/>`);
|
||||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
await test_utils.waitUntil(() => !u.isVisible(_converse.rosterview.get('Pending contacts').el));
|
||||
done();
|
||||
@ -655,7 +651,7 @@
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
for (i=0; i<mock.pend_names.length; i++) {
|
||||
_converse.roster.create({
|
||||
jid: mock.pend_names[i].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: mock.pend_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'none',
|
||||
ask: 'subscribe',
|
||||
fullname: mock.pend_names[i]
|
||||
@ -697,8 +693,8 @@
|
||||
_addContacts(_converse);
|
||||
await test_utils.waitUntil(() => sizzle('li', _converse.rosterview.el).filter(u.isVisible).length, 500);
|
||||
_converse.rosterview.el.querySelector('.roster-group a.group-toggle').click();
|
||||
const name = "Max Mustermann";
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const name = "Romeo Montague";
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.create({
|
||||
ask: null,
|
||||
fullname: name,
|
||||
@ -721,7 +717,7 @@
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
for (i=0; i<mock.cur_names.length; i++) {
|
||||
_converse.roster.create({
|
||||
jid: mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'both',
|
||||
ask: null,
|
||||
fullname: mock.cur_names[i]
|
||||
@ -746,7 +742,7 @@
|
||||
_addContacts(_converse);
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('li').length);
|
||||
const name = mock.cur_names[0];
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const contact = _converse.roster.get(jid);
|
||||
spyOn(window, 'confirm').and.returnValue(true);
|
||||
spyOn(contact, 'removeFromRoster').and.callThrough();
|
||||
@ -761,7 +757,7 @@
|
||||
expect(window.confirm).toHaveBeenCalled();
|
||||
expect(sent_IQ.toLocaleString()).toBe(
|
||||
`<iq type="set" xmlns="jabber:client">`+
|
||||
`<query xmlns="jabber:iq:roster"><item jid="max.frankfurter@localhost" subscription="remove"/></query>`+
|
||||
`<query xmlns="jabber:iq:roster"><item jid="mercutio@montague.lit" subscription="remove"/></query>`+
|
||||
`</iq>`);
|
||||
expect(contact.removeFromRoster).toHaveBeenCalled();
|
||||
await test_utils.waitUntil(() => sizzle(".open-chat:contains('"+name+"')", _converse.rosterview.el).length === 0);
|
||||
@ -777,7 +773,7 @@
|
||||
var name = mock.cur_names[0];
|
||||
var contact;
|
||||
contact = _converse.roster.create({
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'both',
|
||||
ask: null,
|
||||
fullname: name
|
||||
@ -808,7 +804,7 @@
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
const roster = _converse.rosterview.el;
|
||||
for (let i=0; i<mock.cur_names.length; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'online');
|
||||
expect(_converse.rosterview.update).toHaveBeenCalled();
|
||||
// Check that they are sorted alphabetically
|
||||
@ -830,7 +826,7 @@
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
const roster = _converse.rosterview.el;
|
||||
for (let i=0; i<mock.cur_names.length; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'dnd');
|
||||
expect(_converse.rosterview.update).toHaveBeenCalled();
|
||||
// Check that they are sorted alphabetically
|
||||
@ -852,7 +848,7 @@
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
const roster = _converse.rosterview.el;
|
||||
for (let i=0; i<mock.cur_names.length; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'away');
|
||||
expect(_converse.rosterview.update).toHaveBeenCalled();
|
||||
// Check that they are sorted alphabetically
|
||||
@ -874,7 +870,7 @@
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
const roster = _converse.rosterview.el;
|
||||
for (var i=0; i<mock.cur_names.length; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'xa');
|
||||
expect(_converse.rosterview.update).toHaveBeenCalled();
|
||||
// Check that they are sorted alphabetically
|
||||
@ -898,7 +894,7 @@
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
var roster = _converse.rosterview.el;
|
||||
for (var i=0; i<mock.cur_names.length; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'unavailable');
|
||||
expect(_converse.rosterview.update).toHaveBeenCalled();
|
||||
// Check that they are sorted alphabetically
|
||||
@ -920,27 +916,27 @@
|
||||
await test_utils.waitUntil(() => sizzle('.roster-group li', _converse.rosterview.el).length, 700);
|
||||
let i, jid;
|
||||
for (i=0; i<3; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'online');
|
||||
}
|
||||
for (i=3; i<6; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'dnd');
|
||||
}
|
||||
for (i=6; i<9; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'away');
|
||||
}
|
||||
for (i=9; i<12; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'xa');
|
||||
}
|
||||
for (i=12; i<15; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
_converse.roster.get(jid).presence.set('show', 'unavailable');
|
||||
}
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('li.online').length)
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelector('li:first-child').textContent.trim() === 'Candice van der Knijff', 900);
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelector('li:first-child').textContent.trim() === 'Juliet Capulet', 900);
|
||||
const contacts = _converse.rosterview.el.querySelectorAll('.current-xmpp-contact');
|
||||
for (i=0; i<3; i++) {
|
||||
expect(u.hasClass('online', contacts[i])).toBe(true);
|
||||
@ -1007,6 +1003,7 @@
|
||||
null, ['rosterGroupsFetched'], {},
|
||||
async function (done, _converse) {
|
||||
|
||||
test_utils.openControlBox();
|
||||
let names = [];
|
||||
const addName = function (item) {
|
||||
if (!u.hasClass('request-actions', item)) {
|
||||
@ -1014,14 +1011,13 @@
|
||||
}
|
||||
};
|
||||
spyOn(_converse.rosterview, 'update').and.callThrough();
|
||||
spyOn(_converse.controlboxtoggle, 'showControlBox').and.callThrough();
|
||||
for (let i=0; i<mock.req_names.length; i++) {
|
||||
_converse.roster.create({
|
||||
jid: mock.req_names[i].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: mock.req_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
subscription: 'none',
|
||||
ask: null,
|
||||
requesting: true,
|
||||
fullname: mock.req_names[i]
|
||||
nickname: mock.req_names[i]
|
||||
});
|
||||
}
|
||||
await test_utils.waitUntil(() => _converse.rosterview.get('Contact requests').el.querySelectorAll('li').length, 700);
|
||||
@ -1043,11 +1039,11 @@
|
||||
const name = mock.req_names[0];
|
||||
spyOn(window, 'confirm').and.returnValue(true);
|
||||
_converse.roster.create({
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
subscription: 'none',
|
||||
ask: null,
|
||||
requesting: true,
|
||||
fullname: name
|
||||
'jid': name.replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
'subscription': 'none',
|
||||
'ask': null,
|
||||
'requesting': true,
|
||||
'nickname': name
|
||||
});
|
||||
await test_utils.waitUntil(() => sizzle('.roster-group', _converse.rosterview.el).filter(u.isVisible).length, 900);
|
||||
expect(u.isVisible(_converse.rosterview.get('Contact requests').el)).toEqual(true);
|
||||
@ -1080,7 +1076,7 @@
|
||||
test_utils.openControlBox();
|
||||
test_utils.createContacts(_converse, 'requesting').openControlBox();
|
||||
const name = mock.req_names.sort()[0];
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const contact = _converse.roster.get(jid);
|
||||
spyOn(contact, 'authorize').and.callFake(() => contact);
|
||||
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group li').length)
|
||||
@ -1088,7 +1084,7 @@
|
||||
// actually not accepted/authorized because of
|
||||
// mock_connection.
|
||||
spyOn(_converse.roster, 'sendContactAddIQ').and.callFake(() => Promise.resolve());
|
||||
const req_contact = sizzle(".req-contact-name:contains('"+name+"')", _converse.rosterview.el).pop();
|
||||
const req_contact = sizzle(`.req-contact-name:contains("${contact.getDisplayName()}")`, _converse.rosterview.el).pop();
|
||||
req_contact.parentElement.parentElement.querySelector('.accept-xmpp-request').click();
|
||||
expect(_converse.roster.sendContactAddIQ).toHaveBeenCalled();
|
||||
await test_utils.waitUntil(() => contact.authorize.calls.count());
|
||||
@ -1105,7 +1101,7 @@
|
||||
await test_utils.waitUntil(() => sizzle('.roster-group li', _converse.rosterview.el).length, 700);
|
||||
_converse.rosterview.update(); // XXX: Hack to make sure $roster element is attaced.
|
||||
const name = mock.req_names.sort()[1];
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const contact = _converse.roster.get(jid);
|
||||
spyOn(window, 'confirm').and.returnValue(true);
|
||||
spyOn(contact, 'unauthorize').and.callFake(function () { return contact; });
|
||||
@ -1199,7 +1195,7 @@
|
||||
await test_utils.waitUntil(() => sizzle('.roster-group li', _converse.rosterview.el).length, 700);
|
||||
for (let i=0; i<mock.cur_names.length; i++) {
|
||||
const name = mock.cur_names[i];
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const jid = name.replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
const child = sizzle("li:contains('"+name+"')", _converse.rosterview.el).pop().firstElementChild;
|
||||
expect(child.textContent.trim()).toBe(name);
|
||||
expect(child.getAttribute('title')).toContain(name);
|
||||
|
@ -22,7 +22,7 @@
|
||||
const view = _converse.chatboxviews.get('controlbox');
|
||||
spyOn(view, 'renderControlBoxPane').and.callThrough();
|
||||
|
||||
_converse.api.user.login('dummy@localhost', 'secret');
|
||||
_converse.api.user.login('romeo@montague.lit', 'secret');
|
||||
const sent_stanzas = _converse.connection.sent_stanzas;
|
||||
let stanza = await test_utils.waitUntil(() =>
|
||||
sent_stanzas.filter(s => (s.tagName === 'enable')).pop());
|
||||
@ -41,7 +41,7 @@
|
||||
|
||||
let iq = IQ_stanzas.pop();
|
||||
expect(Strophe.serialize(iq)).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${iq.getAttribute('id')}" to="dummy@localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${iq.getAttribute('id')}" to="romeo@montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<query xmlns="http://jabber.org/protocol/disco#info"/></iq>`);
|
||||
|
||||
iq = IQ_stanzas.pop();
|
||||
@ -50,12 +50,12 @@
|
||||
|
||||
iq = IQ_stanzas.pop();
|
||||
expect(Strophe.serialize(iq)).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${iq.getAttribute('id')}" to="localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${iq.getAttribute('id')}" to="montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<query xmlns="http://jabber.org/protocol/disco#info"/></iq>`);
|
||||
|
||||
const disco_iq = IQ_stanzas.pop();
|
||||
expect(Strophe.serialize(disco_iq)).toBe(
|
||||
`<iq from="dummy@localhost" id="${disco_iq.getAttribute('id')}" to="dummy@localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit" id="${disco_iq.getAttribute('id')}" to="romeo@montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<pubsub xmlns="http://jabber.org/protocol/pubsub"><items node="eu.siacs.conversations.axolotl.devicelist"/></pubsub></iq>`);
|
||||
|
||||
expect(sent_stanzas.filter(s => (s.nodeName === 'r')).length).toBe(2);
|
||||
@ -74,8 +74,8 @@
|
||||
|
||||
const disco_result = $iq({
|
||||
'type': 'result',
|
||||
'from': 'localhost',
|
||||
'to': 'dummy@localhost/resource',
|
||||
'from': 'montague.lit',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'id': disco_iq.getAttribute('id'),
|
||||
}).c('query', {'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
.c('identity', {
|
||||
@ -115,7 +115,7 @@
|
||||
// Test that unacked stanzas get resent out
|
||||
iq = IQ_stanzas.pop();
|
||||
expect(Strophe.serialize(iq)).toBe(
|
||||
`<iq from="dummy@localhost/resource" id="${iq.getAttribute('id')}" to="dummy@localhost" type="get" xmlns="jabber:client">`+
|
||||
`<iq from="romeo@montague.lit/orchard" id="${iq.getAttribute('id')}" to="romeo@montague.lit" type="get" xmlns="jabber:client">`+
|
||||
`<query xmlns="http://jabber.org/protocol/disco#info"/></iq>`);
|
||||
|
||||
iq = IQ_stanzas.pop();
|
||||
|
@ -15,7 +15,7 @@
|
||||
async (done, _converse) => {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
/* <message to='romeo@montague.net/orchard' from='juliet@capulet.net/balcony' id='spoiler2'>
|
||||
* <body>And at the end of the story, both of them die! It is so tragic!</body>
|
||||
@ -38,8 +38,8 @@
|
||||
|
||||
await test_utils.waitUntil(() => _converse.api.chats.get().length === 2);
|
||||
const view = _converse.chatboxviews.get(sender_jid);
|
||||
await test_utils.waitUntil(() => view.model.vcard.get('fullname') === 'Max Frankfurter')
|
||||
expect(view.el.querySelector('.chat-msg__author').textContent.trim()).toBe('Max Frankfurter');
|
||||
await test_utils.waitUntil(() => view.model.vcard.get('fullname') === 'Mercutio')
|
||||
expect(view.el.querySelector('.chat-msg__author').textContent.trim()).toBe('Mercutio');
|
||||
const message_content = view.el.querySelector('.chat-msg__text');
|
||||
expect(message_content.textContent).toBe(spoiler);
|
||||
const spoiler_hint_el = view.el.querySelector('.spoiler-hint');
|
||||
@ -53,7 +53,7 @@
|
||||
async (done, _converse) => {
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current');
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
/* <message to='romeo@montague.net/orchard' from='juliet@capulet.net/balcony' id='spoiler2'>
|
||||
* <body>And at the end of the story, both of them die! It is so tragic!</body>
|
||||
* <spoiler xmlns='urn:xmpp:spoiler:0'>Love story end</spoiler>
|
||||
@ -72,8 +72,8 @@
|
||||
await _converse.chatboxes.onMessage(msg);
|
||||
await test_utils.waitUntil(() => _converse.api.chats.get().length === 2);
|
||||
const view = _converse.chatboxviews.get(sender_jid);
|
||||
await test_utils.waitUntil(() => view.model.vcard.get('fullname') === 'Max Frankfurter')
|
||||
expect(_.includes(view.el.querySelector('.chat-msg__author').textContent, 'Max Frankfurter')).toBeTruthy();
|
||||
await test_utils.waitUntil(() => view.model.vcard.get('fullname') === 'Mercutio')
|
||||
expect(_.includes(view.el.querySelector('.chat-msg__author').textContent, 'Mercutio')).toBeTruthy();
|
||||
const message_content = view.el.querySelector('.chat-msg__text');
|
||||
expect(message_content.textContent).toBe(spoiler);
|
||||
const spoiler_hint_el = view.el.querySelector('.spoiler-hint');
|
||||
@ -88,7 +88,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
test_utils.openControlBox();
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
// XXX: We need to send a presence from the contact, so that we
|
||||
// have a resource, that resource is then queried to see
|
||||
@ -96,7 +96,7 @@
|
||||
// the spoiler button will appear.
|
||||
const presence = $pres({
|
||||
'from': contact_jid+'/phone',
|
||||
'to': 'dummy@localhost'
|
||||
'to': 'romeo@montague.lit'
|
||||
});
|
||||
_converse.connection._dataRecv(test_utils.createRequest(presence));
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
@ -119,8 +119,8 @@
|
||||
|
||||
/* Test the XML stanza
|
||||
*
|
||||
* <message from="dummy@localhost/resource"
|
||||
* to="max.frankfurter@localhost"
|
||||
* <message from="romeo@montague.lit/orchard"
|
||||
* to="max.frankfurter@montague.lit"
|
||||
* type="chat"
|
||||
* id="4547c38b-d98b-45a5-8f44-b4004dbc335e"
|
||||
* xmlns="jabber:client">
|
||||
@ -138,7 +138,7 @@
|
||||
expect(body_el.textContent).toBe('This is the spoiler');
|
||||
|
||||
/* Test the HTML spoiler message */
|
||||
expect(view.el.querySelector('.chat-msg__author').textContent.trim()).toBe('Max Mustermann');
|
||||
expect(view.el.querySelector('.chat-msg__author').textContent.trim()).toBe('Romeo Montague');
|
||||
|
||||
const spoiler_msg_el = view.el.querySelector('.chat-msg__text.spoiler');
|
||||
expect(spoiler_msg_el.textContent).toBe('This is the spoiler');
|
||||
@ -161,7 +161,7 @@
|
||||
|
||||
await test_utils.waitForRoster(_converse, 'current', 1);
|
||||
test_utils.openControlBox();
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
|
||||
// XXX: We need to send a presence from the contact, so that we
|
||||
// have a resource, that resource is then queried to see
|
||||
@ -169,7 +169,7 @@
|
||||
// the spoiler button will appear.
|
||||
const presence = $pres({
|
||||
'from': contact_jid+'/phone',
|
||||
'to': 'dummy@localhost'
|
||||
'to': 'romeo@montague.lit'
|
||||
});
|
||||
_converse.connection._dataRecv(test_utils.createRequest(presence));
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
@ -196,8 +196,8 @@
|
||||
|
||||
/* Test the XML stanza
|
||||
*
|
||||
* <message from="dummy@localhost/resource"
|
||||
* to="max.frankfurter@localhost"
|
||||
* <message from="romeo@montague.lit/orchard"
|
||||
* to="max.frankfurter@montague.lit"
|
||||
* type="chat"
|
||||
* id="4547c38b-d98b-45a5-8f44-b4004dbc335e"
|
||||
* xmlns="jabber:client">
|
||||
@ -216,7 +216,7 @@
|
||||
expect(body_el.textContent).toBe('This is the spoiler');
|
||||
|
||||
/* Test the HTML spoiler message */
|
||||
expect(view.el.querySelector('.chat-msg__author').textContent.trim()).toBe('Max Mustermann');
|
||||
expect(view.el.querySelector('.chat-msg__author').textContent.trim()).toBe('Romeo Montague');
|
||||
|
||||
const spoiler_msg_el = view.el.querySelector('.chat-msg__text.spoiler');
|
||||
expect(spoiler_msg_el.textContent).toBe('This is the spoiler');
|
||||
|
@ -55,7 +55,7 @@
|
||||
|
||||
_converse.allow_non_roster_messaging = true;
|
||||
|
||||
test_utils.openAndEnterChatRoom(_converse, 'discuss', 'conference.conversejs.org', 'dummy').then(function () {
|
||||
test_utils.openAndEnterChatRoom(_converse, 'discuss', 'conference.conversejs.org', 'romeo').then(function () {
|
||||
spyOn(_converse, 'areDesktopNotificationsEnabled').and.returnValue(true);
|
||||
_.each(transcripts, function (transcript) {
|
||||
var text = transcript();
|
||||
|
@ -22,7 +22,7 @@
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
test_utils.openChatBoxFor(_converse, contact_jid);
|
||||
await test_utils.waitUntil(() => _converse.chatboxes.length > 1);
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
@ -55,7 +55,7 @@
|
||||
test_utils.createContacts(_converse, 'current');
|
||||
_converse.api.trigger('rosterContactsFetched');
|
||||
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
await test_utils.openChatBoxFor(_converse, contact_jid)
|
||||
const view = _converse.chatboxviews.get(contact_jid);
|
||||
let show_modal_button = view.el.querySelector('.show-user-details-modal');
|
||||
@ -75,7 +75,7 @@
|
||||
const header = document.querySelector('.alert-danger .modal-title');
|
||||
expect(header.textContent).toBe("Error");
|
||||
expect(u.ancestor(header, '.modal-content').querySelector('.modal-body p').textContent.trim())
|
||||
.toBe("Sorry, there was an error while trying to remove Max Frankfurter as a contact.");
|
||||
.toBe("Sorry, there was an error while trying to remove Mercutio as a contact.");
|
||||
document.querySelector('.alert-danger button.close').click();
|
||||
show_modal_button = view.el.querySelector('.show-user-details-modal');
|
||||
show_modal_button.click();
|
||||
|
@ -1524,7 +1524,7 @@ _converse.api = {
|
||||
* @example
|
||||
* converse.plugins.add('myplugin', {
|
||||
* initialize: function () {
|
||||
* this._converse.api.user.login('dummy@example.com', 'secret');
|
||||
* this._converse.api.user.login('romeo@montague.lit', 'secret');
|
||||
* }
|
||||
* });
|
||||
*/
|
||||
|
@ -71,15 +71,15 @@
|
||||
|
||||
// Names from http://www.fakenamegenerator.com/
|
||||
mock.req_names = [
|
||||
'Louw Spekman', 'Mohamad Stet', 'Dominik Beyer'
|
||||
'Escalus, Prince of Verona', 'The Nurse', 'Paris'
|
||||
];
|
||||
mock.pend_names = [
|
||||
'Suleyman van Beusichem', 'Nanja van Yperen', 'Nicole Diederich'
|
||||
'Lord Capulet', 'Lady Capulet', 'Servant'
|
||||
];
|
||||
mock.cur_names = [
|
||||
'Max Frankfurter', 'Candice van der Knijff', 'Irini Vlastuin', 'Rinse Sommer', 'Annegreet Gomez',
|
||||
'Robin Schook', 'Marcel Eberhardt', 'Simone Brauer', 'Asmaa Haakman', 'Felix Amsel',
|
||||
'Lena Grunewald', 'Laura Grunewald', 'Mandy Seiler', 'Sven Bosch', 'Nuriye Cuypers'
|
||||
'Mercutio', 'Juliet Capulet', 'Lady Montague', 'Lord Montague', 'Friar Laurence',
|
||||
'Tybalt', 'Lady Capulet', 'Benviolo', 'Balthasar',
|
||||
'Peter', 'Abram', 'Sampson', 'Gregory', 'Potpan', 'Friar John'
|
||||
];
|
||||
mock.num_contacts = mock.req_names.length + mock.pend_names.length + mock.cur_names.length;
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
c._proto._connect = function () {
|
||||
c.connected = true;
|
||||
c.mock = true;
|
||||
c.jid = 'dummy@localhost/resource';
|
||||
c.jid = 'romeo@montague.lit/orchard';
|
||||
c._changeConnectStatus(Strophe.Status.BINDREQUIRED);
|
||||
};
|
||||
|
||||
@ -190,7 +190,7 @@
|
||||
'i18n': 'en',
|
||||
'auto_subscribe': false,
|
||||
'play_sounds': false,
|
||||
'bosh_service_url': 'localhost',
|
||||
'bosh_service_url': 'montague.lit/http-bind',
|
||||
'connection': connection,
|
||||
'animate': false,
|
||||
'use_emojione': false,
|
||||
@ -214,9 +214,9 @@
|
||||
jid = model.get('jid') || model.get('muc_jid');
|
||||
}
|
||||
let fullname;
|
||||
if (!jid || jid == 'dummy@localhost') {
|
||||
jid = 'dummy@localhost';
|
||||
fullname = 'Max Mustermann' ;
|
||||
if (!jid || jid == 'romeo@montague.lit') {
|
||||
jid = 'romeo@montague.lit';
|
||||
fullname = 'Romeo Montague' ;
|
||||
} else {
|
||||
const name = jid.split('@')[0].replace(/\./g, ' ').split(' ');
|
||||
const last = name.length-1;
|
||||
@ -238,7 +238,7 @@
|
||||
}).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL));
|
||||
};
|
||||
if (_.get(settings, 'auto_login') !== false) {
|
||||
_converse.api.user.login('dummy@localhost', 'secret');
|
||||
_converse.api.user.login('romeo@montague.lit', 'secret');
|
||||
await _converse.api.waitUntil('afterResourceBinding');
|
||||
}
|
||||
window.converse_disable_effects = true;
|
||||
|
@ -34,11 +34,11 @@ var specs = [
|
||||
"jasmine",
|
||||
//"spec/transcripts",
|
||||
"spec/spoilers",
|
||||
"spec/roomslist",
|
||||
"spec/profiling",
|
||||
"spec/utils",
|
||||
"spec/converse",
|
||||
"spec/bookmarks",
|
||||
"spec/roomslist",
|
||||
"spec/headline",
|
||||
"spec/disco",
|
||||
"spec/protocol",
|
||||
|
@ -25,7 +25,7 @@
|
||||
const stanza = $iq({
|
||||
'type': 'result',
|
||||
'from': entity_jid,
|
||||
'to': 'dummy@localhost/resource',
|
||||
'to': 'romeo@montague.lit/orchard',
|
||||
'id': iq.getAttribute('id'),
|
||||
}).c('query', {'xmlns': 'http://jabber.org/protocol/disco#'+type});
|
||||
|
||||
@ -86,7 +86,7 @@
|
||||
utils.openChatBoxes = function (converse, amount) {
|
||||
var i = 0, jid, views = [];
|
||||
for (i; i<amount; i++) {
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
views[i] = converse.roster.get(jid).trigger("open");
|
||||
}
|
||||
return views;
|
||||
@ -130,7 +130,7 @@
|
||||
const features_stanza = $iq({
|
||||
'from': room_jid,
|
||||
'id': stanza.getAttribute('id'),
|
||||
'to': 'dummy@localhost/desktop',
|
||||
'to': 'romeo@montague.lit/desktop',
|
||||
'type': 'result'
|
||||
}).c('query', { 'xmlns': 'http://jabber.org/protocol/disco#info'})
|
||||
.c('identity', {
|
||||
@ -254,11 +254,11 @@
|
||||
length = names.length;
|
||||
}
|
||||
for (var i=0; i<length; i++) {
|
||||
jid = names[i].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
jid = names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit';
|
||||
if (!converse.roster.get(jid)) {
|
||||
converse.roster.create({
|
||||
'ask': ask,
|
||||
'fullname': names[i],
|
||||
'name': names[i],
|
||||
'jid': jid,
|
||||
'requesting': requesting,
|
||||
'subscription': subscription
|
||||
@ -285,7 +285,7 @@
|
||||
if (type === 'pending' || type === 'all') {
|
||||
mock.pend_names.slice(0, length).map(name =>
|
||||
result.c('item', {
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
name: include_nick ? name : undefined,
|
||||
subscription: 'to'
|
||||
}).up()
|
||||
@ -293,7 +293,7 @@
|
||||
} else if (type === 'current' || type === 'all') {
|
||||
mock.cur_names.slice(0, length).map(name =>
|
||||
result.c('item', {
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
jid: name.replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
name: include_nick ? name : undefined,
|
||||
subscription: 'both'
|
||||
}).up()
|
||||
@ -311,11 +311,11 @@
|
||||
j = i;
|
||||
for (i=j; i<j+mock.groups[name]; i++) {
|
||||
converse.roster.create({
|
||||
jid: mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@localhost',
|
||||
subscription: 'both',
|
||||
ask: null,
|
||||
groups: name === 'ungrouped'? [] : [name],
|
||||
fullname: mock.cur_names[i]
|
||||
'jid': mock.cur_names[i].replace(/ /g,'.').toLowerCase() + '@montague.lit',
|
||||
'subscription': 'both',
|
||||
'ask': null,
|
||||
'groups': name === 'ungrouped'? [] : [name],
|
||||
'name': mock.cur_names[i]
|
||||
});
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user