Merge pull request #1510 from GetStream/fix/emoji

This commit is contained in:
Sahil Kumar
2023-04-27 15:17:55 +05:30
committed by GitHub
3 changed files with 75 additions and 1 deletions
@@ -1,3 +1,12 @@
## Upcoming
🐞 Fixed
- [#1502](https://github.com/GetStream/stream-chat-flutter/issues/1502) Fixed `isOnlyEmoji` method Detects Single Hangul
Consonants as Emoji.
- [#1505](https://github.com/GetStream/stream-chat-flutter/issues/1505) Fixed Message bubble disappears for Hangul
Consonants.
## 6.0.0
🐞 Fixed
@@ -34,7 +34,7 @@ extension StringExtension on String {
if (trimmedString.isEmpty) return false;
if (trimmedString.characters.length > 3) return false;
final emojiRegex = RegExp(
r'^(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])+$',
r'^(\u00a9|\u00ae|\u200d|[\ufe00-\ufe0f]|[\u2600-\u27FF]|[\u2300-\u2bFF]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])+$',
multiLine: true,
caseSensitive: false,
);
@@ -81,6 +81,71 @@ void main() {
expect('🌶1'.isOnlyEmoji, false);
expect('👨‍👨👨‍👨'.isOnlyEmoji, true);
expect('👨‍👨👨‍👨 '.isOnlyEmoji, true);
expect('👨👨👨👨'.isOnlyEmoji, false);
expect('⭐⭐⭐'.isOnlyEmoji, true);
expect('⭕⭕⭐'.isOnlyEmoji, true);
expect('✅'.isOnlyEmoji, true);
expect('☺️'.isOnlyEmoji, true);
});
test('Korean vowels', () {
expect('ㅏ'.isOnlyEmoji, false);
expect('ㅑ'.isOnlyEmoji, false);
expect('ㅓ'.isOnlyEmoji, false);
expect('ㅕ'.isOnlyEmoji, false);
expect('ㅗ'.isOnlyEmoji, false);
expect('ㅛ'.isOnlyEmoji, false);
expect('ㅜ'.isOnlyEmoji, false);
expect('ㅠ'.isOnlyEmoji, false);
expect('ㅡ'.isOnlyEmoji, false);
expect('ㅣ'.isOnlyEmoji, false);
});
test('Korean consonants', () {
expect('ㄱ'.isOnlyEmoji, false);
expect('ㄴ'.isOnlyEmoji, false);
expect('ㄷ'.isOnlyEmoji, false);
expect('ㄹ'.isOnlyEmoji, false);
expect('ㅁ'.isOnlyEmoji, false);
expect('ㅂ'.isOnlyEmoji, false);
expect('ㅅ'.isOnlyEmoji, false);
expect('ㅇ'.isOnlyEmoji, false);
expect('ㅈ'.isOnlyEmoji, false);
expect('ㅊ'.isOnlyEmoji, false);
expect('ㅋ'.isOnlyEmoji, false);
expect('ㅌ'.isOnlyEmoji, false);
expect('ㅍ'.isOnlyEmoji, false);
expect('ㅎ'.isOnlyEmoji, false);
});
test('Korean syllables', () {
expect('가'.isOnlyEmoji, false);
expect('나'.isOnlyEmoji, false);
expect('다'.isOnlyEmoji, false);
expect('라'.isOnlyEmoji, false);
expect('마'.isOnlyEmoji, false);
expect('바'.isOnlyEmoji, false);
expect('사'.isOnlyEmoji, false);
expect('아'.isOnlyEmoji, false);
expect('자'.isOnlyEmoji, false);
expect('차'.isOnlyEmoji, false);
expect('카'.isOnlyEmoji, false);
expect('타'.isOnlyEmoji, false);
expect('파'.isOnlyEmoji, false);
expect('하'.isOnlyEmoji, false);
});
// https://github.com/GetStream/stream-chat-flutter/issues/1502
test('Issue:#1502', () {
expect('ㄴ'.isOnlyEmoji, false);
expect('ㄴㅇ'.isOnlyEmoji, false);
expect('ㅇㅋ'.isOnlyEmoji, false);
});
// https://github.com/GetStream/stream-chat-flutter/issues/1505
test('Issue:#1505', () {
expect('ㅎㅎㅎ'.isOnlyEmoji, false);
expect('ㅎㅎㅎㅎ'.isOnlyEmoji, false);
});
});
}