mirror of
https://github.com/mastodon/mastodon.git
synced 2025-09-05 17:31:12 +00:00

Some checks are pending
Check i18n / check-i18n (push) Waiting to run
Chromatic / Run Chromatic (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
48 lines
1.6 KiB
TypeScript
48 lines
1.6 KiB
TypeScript
import { stringHasUnicodeEmoji, stringHasUnicodeFlags } from './utils';
|
||
|
||
describe('stringHasEmoji', () => {
|
||
test.concurrent.for([
|
||
['only text', false],
|
||
['text with emoji 😀', true],
|
||
['multiple emojis 😀😃😄', true],
|
||
['emoji with skin tone 👍🏽', true],
|
||
['emoji with ZWJ 👩❤️👨', true],
|
||
['emoji with variation selector ✊️', true],
|
||
['emoji with keycap 1️⃣', true],
|
||
['emoji with flags 🇺🇸', true],
|
||
['emoji with regional indicators 🇦🇺', true],
|
||
['emoji with gender 👩⚕️', true],
|
||
['emoji with family 👨👩👧👦', true],
|
||
['emoji with zero width joiner 👩🔬', true],
|
||
['emoji with non-BMP codepoint 🧑🚀', true],
|
||
['emoji with combining marks 👨👩👧👦', true],
|
||
['emoji with enclosing keycap #️⃣', true],
|
||
['emoji with no visible glyph \u200D', false],
|
||
] as const)(
|
||
'stringHasEmoji has emojis in "%s": %o',
|
||
([text, expected], { expect }) => {
|
||
expect(stringHasUnicodeEmoji(text)).toBe(expected);
|
||
},
|
||
);
|
||
});
|
||
|
||
describe('stringHasFlags', () => {
|
||
test.concurrent.for([
|
||
['EU 🇪🇺', true],
|
||
['Germany 🇩🇪', true],
|
||
['Canada 🇨🇦', true],
|
||
['São Tomé & Príncipe 🇸🇹', true],
|
||
['Scotland 🏴', true],
|
||
['black flag 🏴', false],
|
||
['arrr 🏴☠️', false],
|
||
['rainbow flag 🏳️🌈', false],
|
||
['non-flag 🔥', false],
|
||
['only text', false],
|
||
] as const)(
|
||
'stringHasFlags has flag in "%s": %o',
|
||
([text, expected], { expect }) => {
|
||
expect(stringHasUnicodeFlags(text)).toBe(expected);
|
||
},
|
||
);
|
||
});
|