Merge pull request #3434 from thelounge/xpaw/no-variant-emoji-map
Remove \uFE0F emoji variant from emoji name map
This commit is contained in:
commit
320b3ea98f
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ import LinkPreviewFileSize from "../../components/LinkPreviewFileSize.vue";
|
|||||||
import InlineChannel from "../../components/InlineChannel.vue";
|
import InlineChannel from "../../components/InlineChannel.vue";
|
||||||
import Username from "../../components/Username.vue";
|
import Username from "../../components/Username.vue";
|
||||||
|
|
||||||
const emojiModifiersRegex = /[\u{1f3fb}-\u{1f3ff}]/gu;
|
const emojiModifiersRegex = /[\u{1f3fb}-\u{1f3ff}]|\u{fe0f}/gu;
|
||||||
|
|
||||||
// Create an HTML `span` with styling information for a given fragment
|
// Create an HTML `span` with styling information for a given fragment
|
||||||
function createFragment(fragment, createElement) {
|
function createFragment(fragment, createElement) {
|
||||||
|
@ -4,6 +4,9 @@ const got = require("got");
|
|||||||
const path = require("path");
|
const path = require("path");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
|
|
||||||
|
// same regex as found in client/../parse.js
|
||||||
|
const emojiModifiersRegex = /[\u{1f3fb}-\u{1f3ff}]|\u{fe0f}/gu;
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const response = await got(
|
const response = await got(
|
||||||
"https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json"
|
"https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json"
|
||||||
@ -13,7 +16,8 @@ const fs = require("fs");
|
|||||||
const fullNameEmojiMap = {};
|
const fullNameEmojiMap = {};
|
||||||
|
|
||||||
for (const emoji of emojiStrategy) {
|
for (const emoji of emojiStrategy) {
|
||||||
fullNameEmojiMap[emoji.emoji] = emoji.description;
|
const cleanEmoji = emoji.emoji.replace(emojiModifiersRegex, "");
|
||||||
|
fullNameEmojiMap[cleanEmoji] = emoji.description;
|
||||||
|
|
||||||
for (const alias of emoji.aliases) {
|
for (const alias of emoji.aliases) {
|
||||||
emojiMap[alias] = emoji.emoji;
|
emojiMap[alias] = emoji.emoji;
|
||||||
|
@ -458,6 +458,22 @@ describe("IRC formatted message parser", () => {
|
|||||||
expected:
|
expected:
|
||||||
'<span role="img" aria-label="Emoji: woman shrugging" title="Emoji: woman shrugging" class="emoji">🤷♀️</span>',
|
'<span role="img" aria-label="Emoji: woman shrugging" title="Emoji: woman shrugging" class="emoji">🤷♀️</span>',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "with emoji variant selector",
|
||||||
|
input: "\u{2695}\u{FE0F}",
|
||||||
|
expected:
|
||||||
|
'<span role="img" aria-label="Emoji: medical symbol" title="Emoji: medical symbol" class="emoji">\u{2695}\u{FE0F}</span>',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "with text variant selector",
|
||||||
|
input: "\u{2695}\u{FE0E}",
|
||||||
|
expected: "\u{2695}\u{FE0E}", // this does not match because FE0E is specifically a text variant
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "without variant selector",
|
||||||
|
input: "\u{2695}",
|
||||||
|
expected: "\u{2695}", // this does not match because emoji-regex expects \uFE0F as per the emoji specification
|
||||||
|
},
|
||||||
{
|
{
|
||||||
// FIXME: These multiple `span`s should be optimized into a single one. See https://github.com/thelounge/thelounge/issues/1783
|
// FIXME: These multiple `span`s should be optimized into a single one. See https://github.com/thelounge/thelounge/issues/1783
|
||||||
name: "wrapped in style",
|
name: "wrapped in style",
|
||||||
|
Loading…
Reference in New Issue
Block a user