From 8b052e20b9dee4742b4998ef3eb182398c3d8433 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Wed, 10 Feb 2021 16:14:34 +0100 Subject: [PATCH] Fix tests by pinning to latest @converse/skeletor --- package-lock.json | 191 ++++++++++++++++++++++++-------------- package.json | 1 - spec/bookmarks.js | 4 +- spec/roster.js | 42 ++++----- src/headless/package.json | 3 +- 5 files changed, 146 insertions(+), 95 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc53cc972..93e97cf3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2867,9 +2867,8 @@ } }, "@converse/skeletor": { - "version": "github:conversejs/skeletor#56a284bd36a07977d69c08d78e7c8c0fc9fc5c87", - "from": "github:conversejs/skeletor#56a284bd36a07977d69c08d78e7c8c0fc9fc5c87", - "dev": true, + "version": "github:conversejs/skeletor#cc542d7de6dd3d058552bc31ffa9d887d581f34d", + "from": "github:conversejs/skeletor#cc542d7de6dd3d058552bc31ffa9d887d581f34d", "requires": { "lit-html": "^1.2.1", "lodash-es": "^4.17.15" @@ -4449,21 +4448,21 @@ } }, "@octokit/auth-token": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz", - "integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", + "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", "dev": true, "requires": { - "@octokit/types": "^6.0.0" + "@octokit/types": "^6.0.3" } }, "@octokit/endpoint": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz", - "integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", + "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", "dev": true, "requires": { - "@octokit/types": "^6.0.0", + "@octokit/types": "^6.0.3", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" }, @@ -4483,9 +4482,9 @@ } }, "@octokit/openapi-types": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-2.0.1.tgz", - "integrity": "sha512-9AuC04PUnZrjoLiw3uPtwGh9FE4Q3rTqs51oNlQ0rkwgE8ftYsOC+lsrQyvCvWm85smBbSc0FNRKKumvGyb44Q==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-4.0.1.tgz", + "integrity": "sha512-k2hRcfcLRyPJjtYfJLzg404n7HZ6sUpAWAR/uNI8tf96NgatWOpw1ocdF+WFfx/trO1ivBh7ckynO1rn+xAw/Q==", "dev": true }, "@octokit/plugin-enterprise-rest": { @@ -4515,9 +4514,9 @@ } }, "@octokit/plugin-request-log": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz", - "integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz", + "integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==", "dev": true }, "@octokit/plugin-rest-endpoint-methods": { @@ -4542,14 +4541,14 @@ } }, "@octokit/request": { - "version": "5.4.12", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.12.tgz", - "integrity": "sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg==", + "version": "5.4.14", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz", + "integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==", "dev": true, "requires": { "@octokit/endpoint": "^6.0.1", "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.0.3", + "@octokit/types": "^6.7.1", "deprecation": "^2.0.0", "is-plain-object": "^5.0.0", "node-fetch": "^2.6.1", @@ -4558,12 +4557,12 @@ }, "dependencies": { "@octokit/request-error": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz", - "integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", + "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", "dev": true, "requires": { - "@octokit/types": "^6.0.0", + "@octokit/types": "^6.0.3", "deprecation": "^2.0.0", "once": "^1.4.0" } @@ -4629,12 +4628,12 @@ } }, "@octokit/types": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.1.2.tgz", - "integrity": "sha512-LPCpcLbcky7fWfHCTuc7tMiSHFpFlrThJqVdaHgowBTMS0ijlZFfonQC/C1PrZOjD4xRCYgBqH9yttEATGE/nw==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.8.2.tgz", + "integrity": "sha512-RpG0NJd7OKSkWptiFhy1xCLkThs5YoDIKM21lEtDmUvSpbaIEfrxzckWLUGDFfF8RydSyngo44gDv8m2hHruUg==", "dev": true, "requires": { - "@octokit/openapi-types": "^2.0.1", + "@octokit/openapi-types": "^4.0.0", "@types/node": ">= 8" } }, @@ -5947,9 +5946,9 @@ } }, "before-after-hook": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", - "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.1.tgz", + "integrity": "sha512-5ekuQOvO04MDj7kYZJaMab2S8SPjGJbotVNyv7QYFCOAwrGZs/YnoDNlh1U+m5hl7H2D/+n0taaAV/tfyd3KMA==", "dev": true }, "better-assert": { @@ -8796,9 +8795,9 @@ "dev": true }, "envinfo": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", - "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", + "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", "dev": true }, "err-code": { @@ -9789,6 +9788,12 @@ } } }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", + "dev": true + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -11272,9 +11277,9 @@ } }, "git-url-parse": { - "version": "11.4.3", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.3.tgz", - "integrity": "sha512-LZTTk0nqJnKN48YRtOpR8H5SEfp1oM2tls90NuZmBxN95PnCvmuXGzqQ4QmVirBgKx2KPYfPGteX3/raWjKenQ==", + "version": "11.4.4", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz", + "integrity": "sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==", "dev": true, "requires": { "git-up": "^4.0.0" @@ -13316,8 +13321,7 @@ "lit-html": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.2.1.tgz", - "integrity": "sha512-GSJHHXMGLZDzTRq59IUfL9FCdAlGfqNp/dEa7k7aBaaWD+JKaCjsAk9KYm2V12ItonVaYx2dprN66Zdm1AuBTQ==", - "dev": true + "integrity": "sha512-GSJHHXMGLZDzTRq59IUfL9FCdAlGfqNp/dEa7k7aBaaWD+JKaCjsAk9KYm2V12ItonVaYx2dprN66Zdm1AuBTQ==" }, "load-json-file": { "version": "5.3.0", @@ -13333,9 +13337,9 @@ }, "dependencies": { "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true } } @@ -13365,6 +13369,20 @@ "lie": "3.1.1" } }, + "localforage-driver-commons": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/localforage-driver-commons/-/localforage-driver-commons-1.0.3.tgz", + "integrity": "sha512-K9PiNNXcyX98lQVyCADjv+QKxFD71y0DtVUhqMjwCkFY/d/g7GdJLPN9U92M7RUvfkL8mzPhC+mWEKo9tur5oQ==" + }, + "localforage-driver-memory": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/localforage-driver-memory/-/localforage-driver-memory-1.0.5.tgz", + "integrity": "sha512-m4v478ixdT3hA7gKv+pAxDIWgMKiUV2GuYem5jnpOBQFVJbrHU7jmNlrj8a0MfD9qff3i48E3Yfip5Eu1AN6Qg==", + "requires": { + "localforage-driver-commons": "^1.0.1", + "tslib": "^1.6.0" + } + }, "localforage-webextensionstorage-driver": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/localforage-webextensionstorage-driver/-/localforage-webextensionstorage-driver-2.0.0.tgz", @@ -13709,9 +13727,9 @@ } }, "meow": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.0.tgz", - "integrity": "sha512-fNWkgM1UVMey2kf24yLiccxLihc5W+6zVus3/N0b+VfnJgxV99E9u04X6NAiKdg6ED7DAQBX5sy36NM0QJZkWA==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, "requires": { "@types/minimist": "^1.2.0", @@ -13738,9 +13756,9 @@ } }, "hosted-git-info": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz", - "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -13786,9 +13804,9 @@ } }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -14447,9 +14465,9 @@ } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "minipass": { @@ -18466,9 +18484,9 @@ }, "dependencies": { "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "which": { @@ -19041,13 +19059,41 @@ "dev": true }, "parse-path": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.2.tgz", - "integrity": "sha512-HSqVz6iuXSiL8C1ku5Gl1Z5cwDd9Wo0q8CoffdAghP6bz8pJa1tcMC+m4N+z6VAS8QdksnIGq1TB6EgR4vPR6w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz", + "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==", "dev": true, "requires": { "is-ssh": "^1.3.0", - "protocols": "^1.4.0" + "protocols": "^1.4.0", + "qs": "^6.9.4", + "query-string": "^6.13.8" + }, + "dependencies": { + "qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "dev": true + }, + "query-string": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.0.tgz", + "integrity": "sha512-In3o+lUxlgejoVJgwEdYtdxrmlL0cQWJXj0+kkI7RWVo7hg5AhFtybeKlC9Dpgbr8eOC4ydpEh8017WwyfzqVQ==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "dev": true + } } }, "parse-srcset": { @@ -21916,6 +21962,12 @@ "through": "2" } }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "dev": true + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -22460,9 +22512,9 @@ }, "dependencies": { "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", + "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", "optional": true } } @@ -22881,8 +22933,7 @@ "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tsutils": { "version": "3.17.1", @@ -24096,9 +24147,9 @@ }, "dependencies": { "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "make-dir": { diff --git a/package.json b/package.json index b298fc8d5..e2763af35 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,6 @@ "@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/preset-env": "^7.12.7", "@converse/headless": "file:src/headless", - "@converse/skeletor": "conversejs/skeletor#56a284bd36a07977d69c08d78e7c8c0fc9fc5c87", "@fortawesome/fontawesome-free": "5.14.0", "autoprefixer": "^9.8.6", "babel-eslint": "^10.1.0", diff --git a/spec/bookmarks.js b/spec/bookmarks.js index 32ef837f3..5a48652cb 100644 --- a/spec/bookmarks.js +++ b/spec/bookmarks.js @@ -1,4 +1,4 @@ -/* global mock, converse, _ */ +/* global mock, converse */ const { Strophe, u, sizzle, $iq } = converse.env; @@ -161,7 +161,7 @@ describe("A chat room", function () { 'nick': ' Othello' }); await new Promise(resolve => _converse.api.listen.once('chatRoomViewInitialized', resolve)); - expect(_.isUndefined(_converse.chatboxviews.get(jid))).toBeFalsy(); + expect(!!_converse.chatboxviews.get(jid)).toBe(true); // Check that we don't auto-join if muc_respect_autojoin is false _converse.muc_respect_autojoin = false; diff --git a/spec/roster.js b/spec/roster.js index d7006db4d..cbcfd31a3 100644 --- a/spec/roster.js +++ b/spec/roster.js @@ -303,7 +303,7 @@ describe("The Contacts Roster", function () { expect(_.includes(filter.classList, "x")).toBeFalsy(); expect(u.hasClass('hidden', rosterview.querySelector('.roster-filter-form .clear-input'))).toBeTruthy(); - const isHidden = _.partial(u.hasClass, 'hidden'); + const isHidden = (el) => u.hasClass('hidden', el); await u.waitUntil(() => !isHidden(rosterview.querySelector('.roster-filter-form .clear-input')), 900); rosterview.querySelector('.clear-input').click(); expect(document.querySelector('.roster-filter').value).toBe(""); @@ -461,8 +461,8 @@ describe("The Contacts Roster", function () { // requesting and pending contacts are last. let group_titles = await u.waitUntil(() => { const toggles = sizzle('.roster-group a.group-toggle', rosterview); - if (_.reduce(toggles, (result, t) => result && u.isVisible(t), true)) { - return _.map(toggles, o => o.textContent.trim()); + if (toggles.reduce((result, t) => result && u.isVisible(t), true)) { + return toggles.map(o => o.textContent.trim()); } else { return false; } @@ -473,8 +473,8 @@ describe("The Contacts Roster", function () { contact.set({'groups': ['secondgroup']}); group_titles = await u.waitUntil(() => { const toggles = sizzle('.roster-group[data-group="secondgroup"] a.group-toggle', rosterview); - if (_.reduce(toggles, (result, t) => result && u.isVisible(t), true)) { - return _.map(toggles, o => o.textContent.trim()); + if (toggles.reduce((result, t) => result && u.isVisible(t), true)) { + return toggles.map(o => o.textContent.trim()); } else { return false; } @@ -501,7 +501,7 @@ describe("The Contacts Roster", function () { const rosterview = document.querySelector('converse-roster'); await u.waitUntil(() => (sizzle('li', rosterview).filter(u.isVisible).length === 30)); // Check that usernames appear alphabetically per group - _.each(groups, function (name) { + groups.forEach(name => { const contacts = sizzle('.roster-group[data-group="'+name+'"] ul li', rosterview); const names = contacts.map(o => o.textContent.trim()); expect(names).toEqual(_.clone(names).sort()); @@ -647,7 +647,7 @@ describe("The Contacts Roster", function () { const rosterview = document.querySelector('converse-roster'); await u.waitUntil(() => { const el = rosterview.querySelector(`ul[data-group="Pending contacts"]`); - return u.isVisible(el) && _.filter(el.querySelectorAll('li'), li => u.isVisible(li)).length; + return u.isVisible(el) && Array.from(el.querySelectorAll('li')).filter(li => u.isVisible(li)).length; }, 700) const remove_el = await u.waitUntil(() => sizzle(`.remove-xmpp-contact[title="Click to remove ${name} as a contact"]`, rosterview).pop()); @@ -709,7 +709,7 @@ describe("The Contacts Roster", function () { // Check that they are sorted alphabetically const el = await u.waitUntil(() => rosterview.querySelector(`ul[data-group="Pending contacts"]`)); const spans = el.querySelectorAll('.pending-xmpp-contact span'); - const t = Array.from(spans).reduce((result, value) => result + _.trim(value.textContent), ''); + const t = Array.from(spans).reduce((result, value) => result + value.textContent?.trim(), ''); expect(t).toEqual(mock.pend_names.slice(0,i+1).sort().join('')); done(); })); @@ -862,8 +862,8 @@ describe("The Contacts Roster", function () { for (let j=0; j result + _.trim(value.textContent), ''); + const els = [...group.querySelectorAll('.current-xmpp-contact.online a.open-chat')]; + const t = els.reduce((result, value) => result + value.textContent?.trim(), ''); expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join('')); } } @@ -889,8 +889,8 @@ describe("The Contacts Roster", function () { for (let j=0; j result + _.trim(value.textContent), ''); + const els = [...group.querySelectorAll('.current-xmpp-contact.dnd a.open-chat')]; + const t = els.reduce((result, value) => result + value.textContent.trim(), ''); expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join('')); } } @@ -916,8 +916,8 @@ describe("The Contacts Roster", function () { for (let j=0; j result + _.trim(value.textContent), ''); + const els = [...group.querySelectorAll('.current-xmpp-contact.away a.open-chat')]; + const t = els.reduce((result, value) => result + value.textContent.trim(), ''); expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join('')); } } @@ -943,8 +943,8 @@ describe("The Contacts Roster", function () { for (let j=0; j result + _.trim(value.textContent), ''); + const els = [...group.querySelectorAll('.current-xmpp-contact.xa a.open-chat')]; + const t = els.reduce((result, value) => result + value.textContenc?.trim(), ''); expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join('')); } } @@ -970,8 +970,8 @@ describe("The Contacts Roster", function () { for (let j=0; j result + _.trim(value.textContent), ''); + const els = [...group.querySelectorAll('.current-xmpp-contact.unavailable a.open-chat')]; + const t = els.reduce((result, value) => result + value.textContent.trim(), ''); expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join('')); } } @@ -1255,12 +1255,12 @@ describe("The Contacts Roster", function () { // have the same attributes values as the original ones. attrs = ['jid', 'fullname', 'subscription', 'ask']; for (var i=0; i m.attributes[attrs[i]]); // eslint-disable-line + old_attrs = _converse.roster.models.map(m => m.attributes[attrs[i]]); // eslint-disable-line // Roster items in storage are not necessarily sorted, // so we have to sort them here to do a proper // comparison - expect(_.isEqual(new_attrs.sort(), old_attrs.sort())).toEqual(true); + expect(new_attrs.sort()).toEqual(old_attrs.sort()); } done(); })); diff --git a/src/headless/package.json b/src/headless/package.json index 4254d8cb0..dd3d16c73 100644 --- a/src/headless/package.json +++ b/src/headless/package.json @@ -36,10 +36,11 @@ }, "gitHead": "9641dcdc820e029b05930479c242d2b707bbe8e2", "devDependencies": { - "@converse/skeletor": "conversejs/skeletor#56a284bd36a07977d69c08d78e7c8c0fc9fc5c87", + "@converse/skeletor": "conversejs/skeletor#cc542d7de6dd3d058552bc31ffa9d887d581f34d", "filesize": "^6.1.0", "localforage": "^1.9.0", "localforage-webextensionstorage-driver": "^2.0.0", + "localforage-driver-memory": "^1.0.5", "lodash-es": "^4.17.15", "pluggable.js": "2.0.1", "sizzle": "^2.3.5",