summaryrefslogtreecommitdiffstats
path: root/comm/chat/protocols/xmpp/test/test_parseJidAndNormalization.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /comm/chat/protocols/xmpp/test/test_parseJidAndNormalization.js
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/chat/protocols/xmpp/test/test_parseJidAndNormalization.js')
-rw-r--r--comm/chat/protocols/xmpp/test/test_parseJidAndNormalization.js104
1 files changed, 104 insertions, 0 deletions
diff --git a/comm/chat/protocols/xmpp/test/test_parseJidAndNormalization.js b/comm/chat/protocols/xmpp/test/test_parseJidAndNormalization.js
new file mode 100644
index 0000000000..f041d2356b
--- /dev/null
+++ b/comm/chat/protocols/xmpp/test/test_parseJidAndNormalization.js
@@ -0,0 +1,104 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+var { XMPPAccountPrototype } = ChromeUtils.importESModule(
+ "resource:///modules/xmpp-base.sys.mjs"
+);
+
+var TEST_DATA = {
+ "abdelrhman@instantbird": {
+ node: "abdelrhman",
+ domain: "instantbird",
+ jid: "abdelrhman@instantbird",
+ normalized: "abdelrhman@instantbird",
+ },
+ " room@instantbird/abdelrhman ": {
+ node: "room",
+ domain: "instantbird",
+ resource: "abdelrhman",
+ jid: "room@instantbird/abdelrhman",
+ normalized: "room@instantbird",
+ },
+ "room@instantbird/@bdelrhman": {
+ node: "room",
+ domain: "instantbird",
+ resource: "@bdelrhman",
+ jid: "room@instantbird/@bdelrhman",
+ normalized: "room@instantbird",
+ },
+ "room@instantbird/abdelrhm\u0061\u0308n": {
+ node: "room",
+ domain: "instantbird",
+ resource: "abdelrhm\u0061\u0308n",
+ jid: "room@instantbird/abdelrhm\u0061\u0308n",
+ normalized: "room@instantbird",
+ },
+ "Room@Instantbird/Abdelrhman": {
+ node: "room",
+ domain: "instantbird",
+ resource: "Abdelrhman",
+ jid: "room@instantbird/Abdelrhman",
+ normalized: "room@instantbird",
+ },
+ "Abdelrhman@instantbird/Instant bird": {
+ node: "abdelrhman",
+ domain: "instantbird",
+ resource: "Instant bird",
+ jid: "abdelrhman@instantbird/Instant bird",
+ normalized: "abdelrhman@instantbird",
+ },
+ "abdelrhman@host/instant/Bird": {
+ node: "abdelrhman",
+ domain: "host",
+ resource: "instant/Bird",
+ jid: "abdelrhman@host/instant/Bird",
+ normalized: "abdelrhman@host",
+ },
+ instantbird: {
+ domain: "instantbird",
+ jid: "instantbird",
+ normalized: "instantbird",
+ },
+};
+
+function testParseJID() {
+ for (let currentJID in TEST_DATA) {
+ let jid = XMPPAccountPrototype._parseJID(currentJID);
+ equal(jid.node, TEST_DATA[currentJID].node);
+ equal(jid.domain, TEST_DATA[currentJID].domain);
+ equal(jid.resource, TEST_DATA[currentJID].resource);
+ equal(jid.jid, TEST_DATA[currentJID].jid);
+ }
+
+ run_next_test();
+}
+
+function testNormalize() {
+ for (let currentJID in TEST_DATA) {
+ equal(
+ XMPPAccountPrototype.normalize(currentJID),
+ TEST_DATA[currentJID].normalized
+ );
+ }
+
+ run_next_test();
+}
+
+function testNormalizeFullJid() {
+ for (let currentJID in TEST_DATA) {
+ equal(
+ XMPPAccountPrototype.normalizeFullJid(currentJID),
+ TEST_DATA[currentJID].jid
+ );
+ }
+
+ run_next_test();
+}
+
+function run_test() {
+ add_test(testParseJID);
+ add_test(testNormalize);
+ add_test(testNormalizeFullJid);
+
+ run_next_test();
+}