egirlskey/packages/frontend/test/emoji.test.ts
Kagami Sascha Rosylight 5e71418d5c
fix(frontend/emoji) restore U+FE0F for simple emojis (#12866)
* fix(frontend/emoji) restore U+FE0F for simple emojis

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-07 16:02:53 +09:00

42 lines
1.2 KiB
TypeScript

/*
* SPDX-FileCopyrightText: syuilo and other misskey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { describe, test, assert, afterEach } from 'vitest';
import { render, cleanup, type RenderResult } from '@testing-library/vue';
import { defaultStoreState } from './init.js';
import { getEmojiName } from '@/scripts/emojilist.js';
import { components } from '@/components/index.js';
import { directives } from '@/directives/index.js';
import MkEmoji from '@/components/global/MkEmoji.vue';
describe('Emoji', () => {
const renderEmoji = (emoji: string): RenderResult => {
return render(MkEmoji, {
props: { emoji },
global: { directives, components },
});
};
afterEach(() => {
cleanup();
defaultStoreState.emojiStyle = '';
});
describe('MkEmoji', () => {
test('Should render selector-less heart with color in native mode', async () => {
defaultStoreState.emojiStyle = 'native';
const mkEmoji = await renderEmoji('\u2764'); // monochrome heart
assert.ok(mkEmoji.queryByText('\u2764\uFE0F')); // colored heart
assert.ok(!mkEmoji.queryByText('\u2764'));
});
});
describe('Emoji list', () => {
test('Should get the name of the heart', () => {
assert.strictEqual(getEmojiName('\u2764'), 'heart');
});
});
});