From 4015eb2fd1b19a8df6afa7c7daede248e6e6b400 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Thu, 5 Sep 2019 13:12:34 +0200 Subject: [PATCH] Name anonymous function to fix failing test --- spec/muc.js | 3 ++- src/headless/converse-chatboxes.js | 16 +++++++++------- src/headless/converse-muc.js | 8 +------- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/spec/muc.js b/spec/muc.js index cc7d78a4a..1f8570190 100644 --- a/spec/muc.js +++ b/spec/muc.js @@ -5064,7 +5064,8 @@ expect(notifications.length).toBe(1); expect(notifications[0].textContent.trim()).toEqual('nomorenicks is typing'); - timeout_functions[1](); + timeout_functions.filter(f => f.name === 'bound safeDestroy').pop()(); + events = view.el.querySelectorAll('.chat-event'); expect(events.length).toBe(3); expect(events[0].textContent.trim()).toEqual('some1 has entered the groupchat'); diff --git a/src/headless/converse-chatboxes.js b/src/headless/converse-chatboxes.js index 147e18246..e7fad6e01 100644 --- a/src/headless/converse-chatboxes.js +++ b/src/headless/converse-chatboxes.js @@ -107,13 +107,15 @@ converse.plugins.add('converse-chatboxes', { this.on('change:put', this.uploadFile, this); } if (this.isEphemeral()) { - window.setTimeout(() => { - try { - this.destroy() - } catch (e) { - _converse.log(e, Strophe.LogLevel.ERROR); - } - }, 10000); + window.setTimeout(this.safeDestroy.bind(this), 10000); + } + }, + + safeDestroy () { + try { + this.destroy() + } catch (e) { + _converse.log(e, Strophe.LogLevel.ERROR); } }, diff --git a/src/headless/converse-muc.js b/src/headless/converse-muc.js index 43aebc215..6f15d2c16 100644 --- a/src/headless/converse-muc.js +++ b/src/headless/converse-muc.js @@ -256,13 +256,7 @@ converse.plugins.add('converse-muc', { this.on('change:put', this.uploadFile, this); } if (this.isEphemeral()) { - window.setTimeout(() => { - try { - this.destroy() - } catch (e) { - _converse.log(e, Strophe.LogLevel.ERROR); - } - }, 10000); + window.setTimeout(this.safeDestroy.bind(this), 10000); } else { this.setOccupant(); this.setVCard();