2
0
Эх сурвалжийг харах

Various smaller fixes

- Fix failing tests.
- Bump timeout for emoji tests
- Remove unused files.
- Update features section.
JC Brand 5 жил өмнө
parent
commit
0c5593ed75

+ 5 - 10
index.html

@@ -128,11 +128,11 @@
 
                 <h3>Need an XMPP/Jabber account?</h3>
                 <p>No problem! With Converse you can register an account on any public XMPP server that allows in-band registration,
-				   including our own at <span style="color: #89B7CD">conversejs.org</span>.</p>
+                   including our own at <span style="color: #89B7CD">conversejs.org</span>.</p>
 
                 <h2>Converse is a community</h2>
-				<p>Over 130 people have contributed features, bugfixes and translations, and many more have integrated it into their own websites or applications.</p>
-				<p>Come and chat with us at <a href="https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org" class="xmpp JSnocheck" title="Converse chat room">discuss@conference.conversejs.org</a>.</p>
+                <p>Over 130 people have contributed features, bugfixes and translations, and many more have integrated it into their own websites or applications.</p>
+                <p>Come and chat with us at <a href="https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org" class="xmpp JSnocheck" title="Converse chat room">discuss@conference.conversejs.org</a>.</p>
             </div>
         </div>
     </section>
@@ -175,6 +175,7 @@
                         <h2>Features</h2>
                     </header>
                     <ul class="features">
+                        <li>Converse supports many XMPP extensions.<br/>See here for a <a href="https://github.com/conversejs/converse.js#supported-xmpp-extensions" target="_blank" rel="noopener">list of supported XEPs</a>.</li>
                         <li>Available as overlayed chat boxes or as a full-page app. See <a href="https://conversejs.org/fullscreen.html" target="_blank" rel="noopener">here</a> for the fullscreen version. </li>
                         <li>A <a href="https://conversejs.org/docs/html/plugin_development.html" target="_blank" rel="noopener">plugin architecture</a> based on <a href="https://conversejs.github.io/pluggable.js/" target="_blank" rel="noopener">pluggable.js</a></li>
                         <li>Chat statuses (online, busy, away, offline)</li>
@@ -185,20 +186,14 @@
                         <li>vCard support (<a href="https://xmpp.org/extensions/xep-0054.html" target="_blank" rel="noopener">XEP 54</a>)</li>
                         <li>Service discovery (<a href="https://xmpp.org/extensions/xep-0030.html" target="_blank" rel="noopener">XEP 30</a>)</li>
                         <li>In-band registration (<a href="https://xmpp.org/extensions/xep-0077.html" target="_blank" rel="noopener">XEP 77</a>)</li>
-                        <li>Roster item exchange (<a href="https://xmpp.org/extensions/xep-0144.html" target="_blank" rel="noopener">XEP 144</a>)</li>
-                        <li>Custom status messages</li>
                         <li>Typing and chat state notifications (<a href="https://xmpp.org/extensions/xep-0085.html" target="_blank" rel="noopener">XEP 85</a>)</li>
                         <li>File sharing / HTTP File Upload (<a href="https://xmpp.org/extensions/xep-0363.html" target="_blank" rel="noopener">XEP 363</a>)</li>
-                        <li>Messages appear in all connected chat clients / Message Carbons (<a href="https://xmpp.org/extensions/xep-0280.html" target="_blank" rel="noopener">XEP 280</a>)</li>
-                        <li>Third person "/me" messages (<a href="https://xmpp.org/extensions/xep-0245.html" target="_blank" rel="noopener">XEP 245</a>)</li>
                         <li>Server-side archiving of messages (<a href="https://xmpp.org/extensions/xep-0313.html" target="_blank" rel="noopener">XEP 313</a>)</li>
                         <li>Hidden messages (aka Spoilers) (<a href="https://xmpp.org/extensions/xep-0382.html" target="_blank" rel="noopener">XEP 382</a>)</li>
                         <li>Client state indication (<a href="https://xmpp.org/extensions/xep-0352.html" target="_blank" rel="noopener">XEP 352</a>)</li>
-                        <li>Last Message Correction (<a href="https://xmpp.org/extensions/xep-0308.html" target="_blank" rel="noopener">XEP 308</a>)</li>
                         <li>OMEMO encrypted messaging (<a href="https://xmpp.org/extensions/xep-0384.html" target="_blank" rel="noopener">XEP 384</a>)</li>
                         <li>Anonymous logins, see the <a href="https://conversejs.org/demo/anonymous.html" target="_blank" rel="noopener">anonymous login demo</a></li>
-                        <li>Message Retractions (<a href="https://xmpp.org/extensions/xep-0424.html" target="_blank" rel="noopener">XEP 424</a>)</li>
-                        <li>Message Moderation (<a href="https://xmpp.org/extensions/xep-0425.html" target="_blank" rel="noopener">XEP 425</a>)</li>
+                        <li>Message corrections, retractions and moderation</li>
                         <li>Translated into over 30 languages</li>
                     </ul>
                 </div>

+ 1 - 2
karma.conf.js

@@ -14,8 +14,7 @@ module.exports = function(config) {
       "dist/converse.css",
       { pattern: "dist/webfonts/**/*.*", included: false },
       { pattern: "node_modules/sinon/pkg/sinon.js", type: 'module' },
-      { pattern: "tests/console-reporter.js", type: 'module' },
-      { pattern: "tests/mock.js", type: 'module' },
+      { pattern: "spec/mock.js", type: 'module' },
 
       { pattern: "spec/spoilers.js", type: 'module' },
       { pattern: "spec/roomslist.js", type: 'module' },

+ 25 - 2
package-lock.json

@@ -4203,6 +4203,11 @@
 				"through": ">=2.2.7 <3"
 			}
 		},
+		"abab": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+			"integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg=="
+		},
 		"abbrev": {
 			"version": "1.1.1",
 			"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -21120,8 +21125,20 @@
 		},
 		"strophe.js": {
 			"version": "1.3.4",
-			"resolved": "https://registry.npmjs.org/strophe.js/-/strophe.js-1.3.4.tgz",
-			"integrity": "sha512-jSLDG8jolhAwGOSgiJ7DTMSYK3wVoEJHKtpVRyEacQZ6CWA6z2WRPJpcFMjsIweq5aP9/XIvKUQqHBu/ZhvESA=="
+			"resolved": "github:strophe/strophejs#4556d1d87b9a7650b52a2bc2cc055a97f9801cb5",
+			"requires": {
+				"abab": "^2.0.0",
+				"ws": "^7.0.0",
+				"xmldom": "^0.1.27"
+			},
+			"dependencies": {
+				"ws": {
+					"version": "7.2.5",
+					"resolved": "https://registry.npmjs.org/ws/-/ws-7.2.5.tgz",
+					"integrity": "sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA==",
+					"optional": true
+				}
+			}
 		},
 		"style-loader": {
 			"version": "0.23.1",
@@ -22894,6 +22911,12 @@
 			"integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==",
 			"dev": true
 		},
+		"xmldom": {
+			"version": "0.1.31",
+			"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
+			"integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==",
+			"optional": true
+		},
 		"xmlhttprequest-ssl": {
 			"version": "1.5.5",
 			"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",

+ 4 - 0
spec/emojis.js

@@ -2,10 +2,14 @@
 
 const { Promise, $msg, $pres, sizzle } = converse.env;
 const u = converse.env.utils;
+const originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
 
 describe("Emojis", function () {
     describe("The emoji picker", function () {
 
+        beforeEach(() => (jasmine.DEFAULT_TIMEOUT_INTERVAL = 7000));
+        afterEach(() => (jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout));
+
         it("can be opened by clicking a button in the chat toolbar",
             mock.initConverse(
                 ['rosterGroupsFetched', 'chatBoxesFetched'], {},

+ 0 - 0
tests/mock.js → spec/mock.js


+ 2 - 2
spec/muc.js

@@ -4754,7 +4754,7 @@ describe("Groupchats", function () {
 
             await u.waitUntil(() => modal.el.querySelectorAll('.available-chatrooms li').length === 11);
             const rooms = modal.el.querySelectorAll('.available-chatrooms li');
-            expect(rooms[0].textContent.trim()).toBe("Groupchats found:");
+            expect(rooms[0].textContent.trim()).toBe("Groupchats found");
             expect(rooms[1].textContent.trim()).toBe("A Lonely Heath");
             expect(rooms[2].textContent.trim()).toBe("A Dark Cave");
             expect(rooms[3].textContent.trim()).toBe("The Palace");
@@ -4832,7 +4832,7 @@ describe("Groupchats", function () {
 
             await u.waitUntil(() => modal.el.querySelectorAll('.available-chatrooms li').length === 4);
             const rooms = modal.el.querySelectorAll('.available-chatrooms li');
-            expect(rooms[0].textContent.trim()).toBe("Groupchats found:");
+            expect(rooms[0].textContent.trim()).toBe("Groupchats found");
             expect(rooms[1].textContent.trim()).toBe("A Lonely Heath");
             expect(rooms[2].textContent.trim()).toBe("A Dark Cave");
             expect(rooms[3].textContent.trim()).toBe("The Palace");

+ 0 - 140
tests/console-reporter.js

@@ -1,140 +0,0 @@
-const noopTimer = {
-    start: function () {},
-    elapsed: function () { return 0; }
-};
-
-function ConsoleReporter () {
-    var timer = noopTimer,
-        specCount,
-        failureCount,
-        failedSpecs = [],
-        pendingCount,
-        ansi = {
-            green: '\x1B[32m',
-            red: '\x1B[31m',
-            yellow: '\x1B[33m',
-            none: '\x1B[0m'
-        },
-        failedSuites = [];
-
-    var print = function print (message) {
-        console.log(message + '\x03\b');
-    }
-
-    this.jasmineStarted = function () {
-        specCount = 0;
-        failureCount = 0;
-        pendingCount = 0;
-        print('Started');
-        printNewline();
-        timer.start();
-    };
-
-    this.jasmineDone = function () {
-        print("jasmineDone");
-        printNewline();
-        for (var i = 0; i < failedSpecs.length; i++) {
-            specFailureDetails(failedSpecs[i]);
-        }
-
-        if(specCount > 0) {
-            printNewline();
-            var specCounts = specCount + ' ' + plural('spec', specCount) + ', ' +
-                    failureCount + ' ' + plural('failure', failureCount);
-            if (pendingCount) {
-                specCounts += ', ' + pendingCount + ' pending ' + plural('spec', pendingCount);
-            }
-            print(specCounts);
-        } else {
-            print('No specs found');
-        }
-
-        printNewline();
-        var seconds = timer.elapsed() / 1000;
-        print('Finished in ' + seconds + ' ' + plural('second', seconds));
-        printNewline();
-        for (i = 0; i < failedSuites.length; i++) {
-            suiteFailureDetails(failedSuites[i]);
-        }
-        var exitCode = failureCount === 0 ? 0 : 1;
-        console.info('All tests completed!' + exitCode);
-    };
-
-    this.specDone = function (result) {
-        specCount++;
-        if (result.status == 'pending') {
-            pendingCount++;
-            print(colored('yellow', '*'));
-            return;
-        }
-        if (result.status == 'passed') {
-            print(colored('green', '.'));
-            return;
-        }
-        if (result.status == 'failed') {
-            failureCount++;
-            failedSpecs.push(result);
-            print(colored('red', 'F'));
-        }
-    };
-
-    this.suiteDone = function (result) {
-        if (result.failedExpectations && result.failedExpectations.length > 0) {
-            failureCount++;
-            failedSuites.push(result);
-        }
-    };
-    return this;
-
-    function printNewline() {
-        print('\n');
-    }
-
-    function colored (color, str) {
-        return ansi[color] + str + ansi.none;
-    }
-
-    function plural (str, count) {
-        return count == 1 ? str : str + 's';
-    }
-
-    function repeat (thing, times) {
-        var arr = [];
-        for (var i = 0; i < times; i++) {
-            arr.push(thing);
-        }
-        return arr;
-    }
-
-    function indent (str, spaces) {
-        var lines = (str || '').split('\n');
-        var newArr = [];
-        for (var i = 0; i < lines.length; i++) {
-            newArr.push(repeat(' ', spaces).join('') + lines[i]);
-        }
-        return newArr.join('\n');
-    }
-
-    function specFailureDetails (result) {
-        printNewline();
-        print(result.fullName);
-        for (var i = 0; i < result.failedExpectations.length; i++) {
-            var failedExpectation = result.failedExpectations[i];
-            printNewline();
-            print(indent(failedExpectation.message, 2));
-            print(indent(failedExpectation.stack, 2));
-        }
-        printNewline();
-    }
-
-    function suiteFailureDetails (result) {
-        for (var i = 0; i < result.failedExpectations.length; i++) {
-            printNewline();
-            print(colored('red', 'An error was thrown in an afterAll'));
-            printNewline();
-            print(colored('red', 'AfterAll ' + result.failedExpectations[i].message));
-        }
-        printNewline();
-    }
-}
-window.ConsoleReporter = ConsoleReporter;

+ 0 - 23
tests/fullpage.html

@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-  "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title>Converse Tests</title>
-    <meta name="description" content="Converse XMPP Chat" />
-    <link rel="shortcut icon" type="image/png" href="../node_modules/jasmine-core/images/jasmine_favicon.png">
-
-    <link rel="stylesheet" type="text/css" media="screen" href="../node_modules/jasmine-core/lib/jasmine-core/jasmine.css">
-    <link type="text/css" rel="stylesheet" media="screen" href="../css/converse.css" />
-    <script src="../dist/converse.js"></script>
-    <script src="../src/config.js"></script>
-    <script type="text/javascript">window.view_mode = 'fullscreen';</script>
-    <script data-main="runner" src="../node_modules/requirejs/require.js"></script>
-    <style>
-        body {
-            overflow-y: hidden;
-        }
-    </style>
-</head>
-
-<body></body>
-</html>