From aea952daf0bf32eea06f4451946367b66f3297b5 Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Sun, 19 Aug 2018 20:25:28 -0700 Subject: [PATCH] use better emoji removal algorithm (#452) another follow-up to #450 to fix #449 --- routes/_utils/removeEmoji.js | 2 +- tests/spec/118-display-name-custom-emoji.js | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/routes/_utils/removeEmoji.js b/routes/_utils/removeEmoji.js index 080ccfd..5297144 100644 --- a/routes/_utils/removeEmoji.js +++ b/routes/_utils/removeEmoji.js @@ -1,5 +1,5 @@ import { replaceAll } from './strings' -import emojiRegex from 'emoji-regex' +import emojiRegex from 'emoji-regex/es2015/text.js' let theEmojiRegex diff --git a/tests/spec/118-display-name-custom-emoji.js b/tests/spec/118-display-name-custom-emoji.js index fa99133..2d6c43c 100644 --- a/tests/spec/118-display-name-custom-emoji.js +++ b/tests/spec/118-display-name-custom-emoji.js @@ -106,3 +106,23 @@ test('Check status aria labels for de-emojified text', async t => { .click(displayNameInComposeBox) .expect(getNthStatus(0).getAttribute('aria-label')).eql('Status by 🌈 foo :blobpats: 🌈') }) + +test('Check some odd emoji', async t => { + await updateUserDisplayNameAs('foobar', 'foo 🕹📺') + await sleep(1000) + await loginAsFoobar(t) + await t + .expect(displayNameInComposeBox.innerText).eql('foo 🕹📺') + .click(settingsNavButton) + .click(generalSettingsButton) + .click(removeEmojiFromDisplayNamesInput) + .expect(removeEmojiFromDisplayNamesInput.checked).ok() + .click(homeNavButton) + .expect(displayNameInComposeBox.innerText).eql('foo') + .click(settingsNavButton) + .click(generalSettingsButton) + .click(removeEmojiFromDisplayNamesInput) + .expect(removeEmojiFromDisplayNamesInput.checked).notOk() + .click(homeNavButton) + .expect(displayNameInComposeBox.innerText).eql('foo 🕹📺') +})