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:
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);
+ });
});