Write additional tests (#22802)

* Write additional tests

* Make Sonar happier
This commit is contained in:
Michael Telatynski 2022-07-11 13:22:37 +01:00 committed by GitHub
parent a4f9e7adad
commit 017dfb6606
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 87 additions and 40 deletions

View file

@ -54,7 +54,7 @@ export default class Favicon {
private isReady = false;
// callback to run once isReady is asserted, allows for a badge to be queued for when it can be shown
private readyCb = () => {};
private readyCb?: () => void;
constructor(params: Partial<IParams> = {}) {
this.params = { ...defaults, ...params };
@ -180,7 +180,7 @@ export default class Favicon {
private ready() {
if (this.isReady) return;
this.isReady = true;
this.readyCb();
this.readyCb?.();
}
private setIcon(canvas) {
@ -230,9 +230,9 @@ export default class Favicon {
private static getLinks() {
const icons: HTMLLinkElement[] = [];
const links = window.document.getElementsByTagName("head")[0].getElementsByTagName("link");
for (let i = 0; i < links.length; i++) {
if ((/(^|\s)icon(\s|$)/i).test(links[i].getAttribute("rel"))) {
icons.push(links[i]);
for (const link of links) {
if ((/(^|\s)icon(\s|$)/i).test(link.getAttribute("rel"))) {
icons.push(link);
}
}
return icons;

View file

@ -92,8 +92,8 @@ export function loadOlm(): Promise<void> {
locateFile: () => olmWasmPath,
}).then(() => {
logger.log("Using WebAssembly Olm");
}).catch((e) => {
logger.log("Failed to load Olm: trying legacy version", e);
}).catch((wasmLoadError) => {
logger.log("Failed to load Olm: trying legacy version", wasmLoadError);
return new Promise((resolve, reject) => {
const s = document.createElement('script');
s.src = 'olm_legacy.js'; // XXX: This should be cache-busted too
@ -106,8 +106,8 @@ export function loadOlm(): Promise<void> {
return window.Olm.init();
}).then(() => {
logger.log("Using legacy Olm");
}).catch((e) => {
logger.log("Both WebAssembly and asm.js Olm failed!", e);
}).catch((legacyLoadError) => {
logger.log("Both WebAssembly and asm.js Olm failed!", legacyLoadError);
});
});
}

View file

@ -48,7 +48,7 @@ export class IPCManager {
return deferred.promise;
}
private onIpcReply = (ev: {}, payload: IPCPayload): void => {
private onIpcReply = (_ev: {}, payload: IPCPayload): void => {
if (payload.id === undefined) {
logger.warn("Ignoring IPC reply with no ID");
return;

View file

@ -47,7 +47,8 @@ export default abstract class VectorBasePlatform extends BasePlatform {
if (this._favicon) {
return this._favicon;
}
return this._favicon = new Favicon();
this._favicon = new Favicon();
return this._favicon;
}
private updateFavicon() {

View file

@ -80,7 +80,7 @@ export default class WebPlatform extends VectorBasePlatform {
// annoyingly, the latest spec says this returns a
// promise, but this is only supported in Chrome 46
// and Firefox 47, so adapt the callback API.
return new Promise(function(resolve, reject) {
return new Promise(function(resolve) {
window.Notification.requestPermission((result) => {
resolve(result);
});

View file

@ -39,7 +39,7 @@ export function initRageshake() {
logger.log("To fix line numbers in Chrome: " +
"Meatball menu → Settings → Ignore list → Add /rageshake\\.js$");
window.addEventListener('beforeunload', (e) => {
window.addEventListener('beforeunload', () => {
logger.log('element-web closing');
// try to flush the logs to indexeddb
rageshake.flush();

View file

@ -41,7 +41,7 @@ function routeUrl(location: Location) {
(window.matrixChat as MatrixChatType).showScreen(s.screen, s.params);
}
function onHashChange(ev: HashChangeEvent) {
function onHashChange() {
if (decodeURIComponent(window.location.hash) === lastLocationHashSet) {
// we just set this: no need to route it!
return;