소스 검색

Split out MUC tests

JC Brand 4 년 전
부모
커밋
dff5f485c9
3개의 변경된 파일58개의 추가작업 그리고 53개의 파일을 삭제
  1. 2 1
      karma.conf.js
  2. 0 52
      src/plugins/chatview/tests/me-messages.js
  3. 56 0
      src/plugins/muc-views/tests/me-messages.js

+ 2 - 1
karma.conf.js

@@ -41,7 +41,6 @@ module.exports = function(config) {
       { pattern: "src/headless/tests/eventemitter.js", type: 'module' },
       { pattern: "src/plugins/bookmark-views/tests/bookmarks.js", type: 'module' },
       { pattern: "src/plugins/chatview/tests/chatbox.js", type: 'module' },
-      { pattern: "src/plugins/chatview/tests/unreads.js", type: 'module' },
       { pattern: "src/plugins/chatview/tests/corrections.js", type: 'module' },
       { pattern: "src/plugins/chatview/tests/emojis.js", type: 'module' },
       { pattern: "src/plugins/chatview/tests/http-file-upload.js", type: 'module' },
@@ -55,6 +54,7 @@ module.exports = function(config) {
       { pattern: "src/plugins/chatview/tests/receipts.js", type: 'module' },
       { pattern: "src/plugins/chatview/tests/spoilers.js", type: 'module' },
       { pattern: "src/plugins/chatview/tests/styling.js", type: 'module' },
+      { pattern: "src/plugins/chatview/tests/unreads.js", type: 'module' },
       { pattern: "src/plugins/chatview/tests/xss.js", type: 'module' },
       { pattern: "src/plugins/controlbox/tests/controlbox.js", type: 'module' },
       { pattern: "src/plugins/controlbox/tests/login.js", type: 'module' },
@@ -69,6 +69,7 @@ module.exports = function(config) {
       { pattern: "src/plugins/muc-views/tests/hats.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/http-file-upload.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/markers.js", type: 'module' },
+      { pattern: "src/plugins/muc-views/tests/me-messages.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/mentions.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/modtools.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/muc-api.js", type: 'module' },

+ 0 - 52
src/plugins/chatview/tests/me-messages.js

@@ -2,58 +2,6 @@
 
 const { u, sizzle, $msg } = converse.env;
 
-describe("A Groupchat Message", function () {
-
-    it("supports the /me command", mock.initConverse([], {}, async function (_converse) {
-        await mock.waitUntilDiscoConfirmed(_converse, 'montague.lit', [], ['vcard-temp']);
-        await u.waitUntil(() => _converse.xmppstatus.vcard.get('fullname'));
-        await mock.waitForRoster(_converse, 'current');
-        await mock.openAndEnterChatRoom(_converse, 'lounge@montague.lit', 'romeo');
-        const view = _converse.chatboxviews.get('lounge@montague.lit');
-        if (!view.querySelectorAll('.chat-area').length) {
-            view.renderChatArea();
-        }
-        let message = '/me is tired';
-        const nick = mock.chatroom_names[0];
-        let msg = $msg({
-                'from': 'lounge@montague.lit/'+nick,
-                'id': u.getUniqueId(),
-                'to': 'romeo@montague.lit',
-                'type': 'groupchat'
-            }).c('body').t(message).tree();
-        await view.model.handleMessageStanza(msg);
-        await u.waitUntil(() => sizzle('.chat-msg:last .chat-msg__text', view).pop());
-        await u.waitUntil(() => view.querySelector('.chat-msg__text').textContent.trim() === 'is tired');
-        expect(view.querySelector('.chat-msg__author').textContent.includes('**Dyon van de Wege')).toBeTruthy();
-
-        message = '/me is as well';
-        msg = $msg({
-            from: 'lounge@montague.lit/Romeo Montague',
-            id: u.getUniqueId(),
-            to: 'romeo@montague.lit',
-            type: 'groupchat'
-        }).c('body').t(message).tree();
-        await view.model.handleMessageStanza(msg);
-        await u.waitUntil(() => view.querySelectorAll('.chat-msg').length === 2);
-        await u.waitUntil(() => Array.from(view.querySelectorAll('.chat-msg__text')).pop().textContent.trim() === 'is as well');
-        expect(sizzle('.chat-msg__author:last', view).pop().textContent.includes('**Romeo Montague')).toBeTruthy();
-
-        // Check rendering of a mention inside a me message
-        const msg_text = "/me mentions romeo";
-        msg = $msg({
-                from: 'lounge@montague.lit/gibson',
-                id: u.getUniqueId(),
-                to: 'romeo@montague.lit',
-                type: 'groupchat'
-            }).c('body').t(msg_text).up()
-                .c('reference', {'xmlns':'urn:xmpp:reference:0', 'begin':'13', 'end':'19', 'type':'mention', 'uri':'xmpp:romeo@montague.lit'}).nodeTree;
-        await view.model.handleMessageStanza(msg);
-        await u.waitUntil(() => view.querySelectorAll('.chat-msg__text').length === 3);
-        await u.waitUntil(() => sizzle('.chat-msg__text:last', view).pop().innerHTML.replace(/<!-.*?->/g, '') ===
-            'mentions <span class="mention mention--self badge badge-info">romeo</span>');
-    }));
-});
-
 describe("A Message", function () {
 
     it("supports the /me command", mock.initConverse([], {}, async function (_converse) {

+ 56 - 0
src/plugins/muc-views/tests/me-messages.js

@@ -0,0 +1,56 @@
+/*global mock, converse */
+
+const { u, sizzle, $msg } = converse.env;
+
+
+describe("A Groupchat Message", function () {
+
+    it("supports the /me command", mock.initConverse([], {}, async function (_converse) {
+        await mock.waitUntilDiscoConfirmed(_converse, 'montague.lit', [], ['vcard-temp']);
+        await u.waitUntil(() => _converse.xmppstatus.vcard.get('fullname'));
+        await mock.waitForRoster(_converse, 'current');
+        await mock.openAndEnterChatRoom(_converse, 'lounge@montague.lit', 'romeo');
+        const view = _converse.chatboxviews.get('lounge@montague.lit');
+        if (!view.querySelectorAll('.chat-area').length) {
+            view.renderChatArea();
+        }
+        let message = '/me is tired';
+        const nick = mock.chatroom_names[0];
+        let msg = $msg({
+                'from': 'lounge@montague.lit/'+nick,
+                'id': u.getUniqueId(),
+                'to': 'romeo@montague.lit',
+                'type': 'groupchat'
+            }).c('body').t(message).tree();
+        await view.model.handleMessageStanza(msg);
+        await u.waitUntil(() => sizzle('.chat-msg:last .chat-msg__text', view).pop());
+        await u.waitUntil(() => view.querySelector('.chat-msg__text').textContent.trim() === 'is tired');
+        expect(view.querySelector('.chat-msg__author').textContent.includes('**Dyon van de Wege')).toBeTruthy();
+
+        message = '/me is as well';
+        msg = $msg({
+            from: 'lounge@montague.lit/Romeo Montague',
+            id: u.getUniqueId(),
+            to: 'romeo@montague.lit',
+            type: 'groupchat'
+        }).c('body').t(message).tree();
+        await view.model.handleMessageStanza(msg);
+        await u.waitUntil(() => view.querySelectorAll('.chat-msg').length === 2);
+        await u.waitUntil(() => Array.from(view.querySelectorAll('.chat-msg__text')).pop().textContent.trim() === 'is as well');
+        expect(sizzle('.chat-msg__author:last', view).pop().textContent.includes('**Romeo Montague')).toBeTruthy();
+
+        // Check rendering of a mention inside a me message
+        const msg_text = "/me mentions romeo";
+        msg = $msg({
+                from: 'lounge@montague.lit/gibson',
+                id: u.getUniqueId(),
+                to: 'romeo@montague.lit',
+                type: 'groupchat'
+            }).c('body').t(msg_text).up()
+                .c('reference', {'xmlns':'urn:xmpp:reference:0', 'begin':'13', 'end':'19', 'type':'mention', 'uri':'xmpp:romeo@montague.lit'}).nodeTree;
+        await view.model.handleMessageStanza(msg);
+        await u.waitUntil(() => view.querySelectorAll('.chat-msg__text').length === 3);
+        await u.waitUntil(() => sizzle('.chat-msg__text:last', view).pop().innerHTML.replace(/<!-.*?->/g, '') ===
+            'mentions <span class="mention mention--self badge badge-info">romeo</span>');
+    }));
+});