logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 72d939b69fca9443038d89815ca5356319f42c43
parent: 97b3d0cd567ff5b38343796a5e662087bd45d710
Author: Nolan Lawson <nolan@nolanlawson.com>
Date:   Fri,  6 Oct 2017 03:03:13 -0700

Fix thinking_face emoji autocomplete (#5238)


Diffstat:

Mapp/javascript/mastodon/features/emoji/emoji_utils.js17++++++++++-------
Mspec/javascript/components/emoji_index.test.js7+++++++
2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/app/javascript/mastodon/features/emoji/emoji_utils.js b/app/javascript/mastodon/features/emoji/emoji_utils.js @@ -125,13 +125,16 @@ function getData(emoji) { } function intersect(a, b) { - let aSet = new Set(a); - let bSet = new Set(b); - let intersection = new Set( - [...aSet].filter(x => bSet.has(x)) - ); - - return Array.from(intersection); + let set; + let list; + if (a.length < b.length) { + set = new Set(a); + list = b; + } else { + set = new Set(b); + list = a; + } + return Array.from(new Set(list.filter(x => set.has(x)))); } export { getData, getSanitizedData, intersect }; diff --git a/spec/javascript/components/emoji_index.test.js b/spec/javascript/components/emoji_index.test.js @@ -96,4 +96,11 @@ describe('emoji_index', () => { expect(search('polo').map(trimEmojis)).to.deep.equal(expected); expect(emojiIndex.search('polo').map(trimEmojis)).to.deep.equal(expected); }); + + it('can search for thinking_face', () => { + let expected = [ { id: 'thinking_face', unified: '1f914', native: '🤔' } ]; + expect(search('thinking_fac').map(trimEmojis)).to.deep.equal(expected); + // this is currently broken in emoji-mart + // expect(emojiIndex.search('thinking_fac').map(trimEmojis)).to.deep.equal(expected); + }); });