diff --git a/web_src/js/emoji.test.js b/web_src/js/emoji.test.js new file mode 100644 index 0000000000..55e4787793 --- /dev/null +++ b/web_src/js/emoji.test.js @@ -0,0 +1,27 @@ +import {emojiString, emojiHTML} from './features/emoji.js'; + +test('emojiString', () => { + expect(emojiString('+1')).toEqual('👍'); + expect(emojiString('arrow_right')).toEqual('➡️'); + expect(emojiString('european_union')).toEqual('🇪🇺'); + expect(emojiString('eu')).toEqual('🇪🇺'); + + expect(emojiString('forgejo')).toEqual(':forgejo:'); + expect(emojiString('frogejo')).toEqual(':frogejo:'); + expect(emojiString('blobnom')).toEqual(':blobnom:'); + + expect(emojiString('not-a-emoji')).toEqual(':not-a-emoji:'); +}); + +test('emojiHTML', () => { + expect(emojiHTML('+1')).toEqual('👍'); + expect(emojiHTML('arrow_right')).toEqual('➡️'); + expect(emojiHTML('european_union')).toEqual('🇪🇺'); + expect(emojiHTML('eu')).toEqual('🇪🇺'); + + expect(emojiHTML('forgejo')).toEqual(':forgejo:'); + expect(emojiHTML('frogejo')).toEqual(':frogejo:'); + expect(emojiHTML('blobnom')).toEqual(':blobnom:'); + + expect(emojiHTML('not-a-emoji')).toEqual(':not-a-emoji:'); +}); diff --git a/web_src/js/vitest.setup.js b/web_src/js/vitest.setup.js index 5366958fb5..61a6453cf7 100644 --- a/web_src/js/vitest.setup.js +++ b/web_src/js/vitest.setup.js @@ -4,8 +4,9 @@ window.config = { csrfToken: 'test-csrf-token-123456', pageData: {}, i18n: {}, - customEmojis: {}, + customEmojis: new Set(['forgejo', 'frogejo', 'blobnom']), appSubUrl: '', + assetUrlPrefix: '/assets', mentionValues: [ {key: 'user1 User 1', value: 'user1', name: 'user1', fullname: 'User 1', avatar: 'https://avatar1.com'}, {key: 'user2 User 2', value: 'user2', name: 'user2', fullname: 'User 2', avatar: 'https://avatar2.com'},