mattermost-mobile/app/mm-redux/utils/emoji_utils.test.js
Guillermo Vayá 1f843ddb4f
[MM-35909] Support for emoji 13 (#5497)
* support for emoji 13

* fix some tests

* more test fixed

* fix typo

* rename system to standard

* remove unused functions

* fix +1 emojis
2021-06-30 00:41:11 +02:00

66 lines
2.2 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import assert from 'assert';
import * as EmojiUtils from '@mm-redux/utils/emoji_utils';
describe('EmojiUtils', () => {
describe('parseNeededCustomEmojisFromText', () => {
it('no emojis', () => {
const actual = EmojiUtils.parseNeededCustomEmojisFromText(
'This has no emojis',
new Map(),
new Map(),
);
const expected = new Set([]);
assert.deepEqual(actual, expected);
});
it('some emojis', () => {
const actual = EmojiUtils.parseNeededCustomEmojisFromText(
':this: :is_all: :emo-jis: :123:',
new Map(),
new Map(),
);
const expected = new Set(['this', 'is_all', 'emo-jis', '123']);
assert.deepEqual(actual, expected);
});
it('text surrounding emojis', () => {
const actual = EmojiUtils.parseNeededCustomEmojisFromText(
':this:/:is_all: (:emo-jis:) surrounding:123:text:456:asdf',
new Set(),
new Map(),
new Map(),
);
const expected = new Set(['this', 'is_all', 'emo-jis', '123', '456']);
assert.deepEqual(actual, expected);
});
it('custom emojis', () => {
const actual = EmojiUtils.parseNeededCustomEmojisFromText(
':this: :is_all: :emo-jis: :123:',
new Map([['is_all', {name: 'is_all'}], ['emo-jis', {name: 'emo-jis'}]]),
new Map(),
);
const expected = new Set(['this', '123']);
assert.deepEqual(actual, expected);
});
it('emojis that we\'ve already tried to load', () => {
const actual = EmojiUtils.parseNeededCustomEmojisFromText(
':this: :is_all: :emo-jis: :123:',
new Map(),
new Map([['this', {name: 'this'}], ['emo-jis', {name: 'emo-jis'}]]),
);
const expected = new Set(['is_all', '123']);
assert.deepEqual(actual, expected);
});
});
});