diff --git a/packages/message-parser/src/grammar.pegjs b/packages/message-parser/src/grammar.pegjs index fb90d2a2bb340..0ee69e61656c8 100644 --- a/packages/message-parser/src/grammar.pegjs +++ b/packages/message-parser/src/grammar.pegjs @@ -811,9 +811,12 @@ UnicodeEmojiEmoticon = $([\uD83D] [\uDE00-\uDE4F]) UnicodeEmojiSupplementalSymbolsAndPictographs = $([\uD83E] [\uDD00-\uDFFF]) UnicodeEmojiZwjComponent - = (UnicodeEmojiSupplementalSymbolsAndPictographs / UnicodeEmojiMiscellaneousSymbolsAndPictographs / UnicodeEmojiEmoticon) UnicodeEmojiMiscellaneousSymbolsAndPictographsFitzpatrickModifiers? - / UnicodeEmojiDingbats - / UnicodeEmojiMiscellaneousSymbols + = ( UnicodeEmojiSupplementalSymbolsAndPictographs + / UnicodeEmojiMiscellaneousSymbolsAndPictographs + / UnicodeEmojiEmoticon + / UnicodeEmojiDingbats + / UnicodeEmojiMiscellaneousSymbols + ) UnicodeEmojiMiscellaneousSymbolsAndPictographsFitzpatrickModifiers? /* Emoji tag sequence: Black Flag + tag characters (U+E0020-U+E007E) + Cancel Tag (U+E007F), e.g. England/Scotland/Wales flags */ UnicodeEmojiTagSequence = $([\uD83C] [\uDFF4] ([\uDB40] [\uDC20-\uDC7E])+ [\uDB40] [\uDC7F]) diff --git a/packages/message-parser/tests/emoji.test.ts b/packages/message-parser/tests/emoji.test.ts index b0acb2405515d..f7f2f3f27065c 100644 --- a/packages/message-parser/tests/emoji.test.ts +++ b/packages/message-parser/tests/emoji.test.ts @@ -68,6 +68,14 @@ test.each([ ['👆🏽👆🏽', [bigEmoji([emojiUnicode('👆🏽'), emojiUnicode('👆🏽')])]], ['👆🏽👆🏽👆🏽', [bigEmoji([emojiUnicode('👆🏽'), emojiUnicode('👆🏽'), emojiUnicode('👆🏽')])]], ['👆🏺', [bigEmoji([emojiUnicode('👆'), emojiUnicode('🏺')])]], + ['✋🏽', [bigEmoji([emojiUnicode('✋🏽')])]], + ['✌🏽', [bigEmoji([emojiUnicode('✌🏽')])]], + ['✍🏽', [bigEmoji([emojiUnicode('✍🏽')])]], + ['☝🏽', [bigEmoji([emojiUnicode('☝🏽')])]], + ['⛹🏽', [bigEmoji([emojiUnicode('⛹🏽')])]], + ['✋🏽✌🏽', [bigEmoji([emojiUnicode('✋🏽'), emojiUnicode('✌🏽')])]], + ['✋🏺', [bigEmoji([emojiUnicode('✋'), emojiUnicode('🏺')])]], + ['Hi ✋🏽', [paragraph([plain('Hi '), emojiUnicode('✋🏽')])]], ['Hi 👍', [paragraph([plain('Hi '), emojiUnicode('👍')])]], // Symbols and Pictographs Extended-A (U+1FA00–U+1FAFF) — Unicode 13+/14+ ['🫠', [bigEmoji([emojiUnicode('🫠')])]],