Fix tests by pinning to latest @converse/skeletor

This commit is contained in:
JC Brand 2021-02-10 16:14:34 +01:00
parent 45e0ba7f9b
commit 8b052e20b9
5 changed files with 146 additions and 95 deletions

191
package-lock.json generated
View File

@ -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": {

View File

@ -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",

View File

@ -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;

View File

@ -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<groups.length; j++) {
const group = groups[j];
const groupname = groupnames[j];
const els = group.querySelectorAll('.current-xmpp-contact.online a.open-chat');
const t = _.reduce(els, (result, value) => 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<groups.length; j++) {
const group = groups[j];
const groupname = groupnames[j];
const els = group.querySelectorAll('.current-xmpp-contact.dnd a.open-chat');
const t = _.reduce(els, (result, value) => 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<groups.length; j++) {
const group = groups[j];
const groupname = groupnames[j];
const els = group.querySelectorAll('.current-xmpp-contact.away a.open-chat');
const t = _.reduce(els, (result, value) => 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<groups.length; j++) {
const group = groups[j];
const groupname = groupnames[j];
const els = group.querySelectorAll('.current-xmpp-contact.xa a.open-chat');
const t = _.reduce(els, (result, value) => 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<groups.length; j++) {
const group = groups[j];
const groupname = groupnames[j];
const els = group.querySelectorAll('.current-xmpp-contact.unavailable a.open-chat');
const t = _.reduce(els, (result, value) => 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<attrs.length; i++) {
new_attrs = _.map(_.map(new_roster.models, 'attributes'), attrs[i]);
old_attrs = _.map(_.map(_converse.roster.models, 'attributes'), attrs[i]);
new_attrs = new_roster.models.map(m => 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();
}));

View File

@ -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",