diff --git a/src/emoji.js b/src/emoji.js index a7b72de..86d0d2f 100644 --- a/src/emoji.js +++ b/src/emoji.js @@ -8,6 +8,8 @@ export const keyCap = '[0-9#\\*][\\u{FE0F}]?\\u{20E3}' const emojiRange = [ '[\\u{2600}-\\u{26FF}]', // Miscellaneous Symbols '[\\u{2700}-\\u{27BF}]', // Dingbats + '[\\u{3200}-\\u{32FF}]', // Enclosed CJK Letters and Months + '[\\u{1F200}-\\u{1F2FF}]', // Enclosed Ideographic Supplement '[\\u{1F300}-\\u{1F5FF}]', // Miscellaneous Symbols and Pictographs '[\\u{1F600}-\\u{1F64F}]', // Emoticons '[\\u{1F680}-\\u{1F6FF}]', // Transport and Map Symbols diff --git a/test/emoji.js b/test/emoji.js index e6f1536..215b6bf 100644 --- a/test/emoji.js +++ b/test/emoji.js @@ -60,5 +60,39 @@ describe('WordBreakEmoji', function () { testBreak(regExp, '☎☎️', ['☎', '☎️']) testBreak(regExp, '🤜🏾🤘🏾', ['🤜🏾', '🤘🏾']) }) + + it('enclosed cjk letters and months', function () { + // u3297 uFE0F + testBreak(regExp, '㊗️', ['㊗️']) + // u3299 uFE0F + testBreak(regExp, '㊙️', ['㊙️']) + + // without uFE0F emoji variation sequence + // u3297 + testBreak(regExp, '㊗', ['㊗']) + // u3299 + testBreak(regExp, '㊙', ['㊙']) + }) + + it('enclosed ideographic supplement', function () { + // u1F202 uFE0F + testBreak(regExp, '🈂️', ['🈂️']) + // u1F21A uFE0F + testBreak(regExp, '🈚️', ['🈚️']) + // u1F22F uFE0F + testBreak(regExp, '🈯️', ['🈯️']) + // u1F237 uFE0F + testBreak(regExp, '🈷️', ['🈷️']) + + // without uFE0F emoji variation sequence + // u1F202 + testBreak(regExp, '🈂', ['🈂']) + // u1F21A + testBreak(regExp, '🈚', ['🈚']) + // u1F22F + testBreak(regExp, '🈯', ['🈯']) + // u1F237 + testBreak(regExp, '🈷', ['🈷']) + }) }) })