Browse Source

Fix thinking_face emoji autocomplete (#5238)

pull/4/head
Nolan Lawson 6 years ago
committed by Eugen Rochko
parent
commit
72d939b69f
2 changed files with 17 additions and 7 deletions
  1. +10
    -7
      app/javascript/mastodon/features/emoji/emoji_utils.js
  2. +7
    -0
      spec/javascript/components/emoji_index.test.js

+ 10
- 7
app/javascript/mastodon/features/emoji/emoji_utils.js View File

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

+ 7
- 0
spec/javascript/components/emoji_index.test.js View File

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

Loading…
Cancel
Save