UNPKG

emoji-flags-to-country

Version:
35 lines (33 loc) โ€ข 1.73 kB
const assert = require('assert'); const { flagToCountry, getFlagsInText } = require('../index'); describe('Tests for emoji flags to country code', () => { it('should return undefined for empty inputs', () => { assert.strictEqual(flagToCountry(''), undefined); assert.strictEqual(flagToCountry(null), undefined); assert.strictEqual(flagToCountry(undefined), undefined); }); it('should return undefined for any character that is not a flag emoji', () => { assert.strictEqual(flagToCountry('hello world'), undefined); assert.strictEqual(flagToCountry('US'), undefined); assert.strictEqual(flagToCountry('๐Ÿ˜€'), undefined); }); it('should return the correct country code for a given emoji flag', () => { assert.strictEqual(flagToCountry('๐Ÿ‡ฎ๐Ÿ‡น'), 'IT'); assert.strictEqual(flagToCountry('๐Ÿ‡บ๐Ÿ‡ธ'), 'US'); assert.strictEqual(flagToCountry('๐Ÿ‡ช๐Ÿ‡ธ'), 'ES'); assert.strictEqual(flagToCountry('๐Ÿ‡ช๐Ÿ‡บ'), 'EU'); }); it('should return an empty array for an invalid text', () => { assert.deepEqual(getFlagsInText(''), []); assert.deepEqual(getFlagsInText(null), []); assert.deepEqual(getFlagsInText(undefined), []); }); it('should return an empty array for a text with no emoji flags', () => { assert.deepEqual(getFlagsInText('This text has no emoji flags ๐Ÿ˜€'), []); }); it('should return an array of emoji flags for a text with emoji flags', () => { const phrases = ['Italians do it better ๐Ÿ‡ฎ๐Ÿ‡น', '๐Ÿ‡ฎ๐Ÿ‡น some flag ๐Ÿ‡บ๐Ÿ‡ธ here and there๐Ÿ‡ช๐Ÿ‡ธ and also ๐Ÿ‡ช๐Ÿ‡บ']; assert.deepEqual(getFlagsInText(phrases[0]), ['๐Ÿ‡ฎ๐Ÿ‡น']); assert.deepEqual(getFlagsInText(phrases[1]), ['๐Ÿ‡ฎ๐Ÿ‡น', '๐Ÿ‡บ๐Ÿ‡ธ', '๐Ÿ‡ช๐Ÿ‡ธ', '๐Ÿ‡ช๐Ÿ‡บ']); }); });