@ -22,23 +22,23 @@ describe('emoji', () => {
it ( 'does unicode' , ( ) => {
expect ( emojify ( '\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66' ) ) . toEqual (
'< img draggable="false" class="emojione" alt="👩👩👦👦" title=":woman-woman-boy-boy:" src="/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg">') ;
'< picture>< img draggable="false" class="emojione" alt="👩👩👦👦" title=":woman-woman-boy-boy:" src="/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg"></picture >') ;
expect ( emojify ( '👨👩👧👧' ) ) . toEqual (
'< img draggable="false" class="emojione" alt="👨👩👧👧" title=":man-woman-girl-girl:" src="/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg">') ;
expect ( emojify ( '👩👩👦' ) ) . toEqual ( '< img draggable="false" class="emojione" alt="👩👩👦" title=":woman-woman-boy:" src="/emoji/1f469-200d-1f469-200d-1f466.svg">') ;
'< picture>< img draggable="false" class="emojione" alt="👨👩👧👧" title=":man-woman-girl-girl:" src="/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg"></picture >') ;
expect ( emojify ( '👩👩👦' ) ) . toEqual ( '< picture>< img draggable="false" class="emojione" alt="👩👩👦" title=":woman-woman-boy:" src="/emoji/1f469-200d-1f469-200d-1f466.svg"></picture >') ;
expect ( emojify ( '\u2757' ) ) . toEqual (
'< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg">') ;
'< picture>< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture >') ;
} ) ;
it ( 'does multiple unicode' , ( ) => {
expect ( emojify ( '\u2757 #\uFE0F\u20E3' ) ) . toEqual (
'< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg">') ;
'< picture>< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture > <picture>< img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"></picture >') ;
expect ( emojify ( '\u2757#\uFE0F\u20E3' ) ) . toEqual (
'< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"><img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg">') ;
'< picture>< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture><picture>< img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"></picture >') ;
expect ( emojify ( '\u2757 #\uFE0F\u20E3 \u2757' ) ) . toEqual (
'< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"> <img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg">') ;
'< picture>< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture> <picture> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"></picture> <picture> <img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture >') ;
expect ( emojify ( 'foo \u2757 #\uFE0F\u20E3 bar' ) ) . toEqual (
'foo < img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"> bar') ;
'foo < picture>< img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture > <picture>< img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"></picture > bar') ;
} ) ;
it ( 'ignores unicode inside of tags' , ( ) => {
@ -46,16 +46,16 @@ describe('emoji', () => {
} ) ;
it ( 'does multiple emoji properly (issue 5188)' , ( ) => {
expect ( emojify ( '👌🌈💕' ) ) . toEqual ( '< img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"><img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"><img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg">') ;
expect ( emojify ( '👌 🌈 💕' ) ) . toEqual ( '< img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"> <img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"> <img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg">') ;
expect ( emojify ( '👌🌈💕' ) ) . toEqual ( '< picture>< img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"></picture><picture>< img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"></picture><picture>< img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg"></picture >') ;
expect ( emojify ( '👌 🌈 💕' ) ) . toEqual ( '< picture>< img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"></picture> <picture> <img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"></picture> <picture> <img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg"></picture >') ;
} ) ;
it ( 'does an emoji that has no shortcode' , ( ) => {
expect ( emojify ( '👁🗨' ) ) . toEqual ( '< img draggable="false" class="emojione" alt="👁🗨" title="" src="/emoji/1f441-200d-1f5e8.svg">') ;
expect ( emojify ( '👁🗨' ) ) . toEqual ( '< picture>< img draggable="false" class="emojione" alt="👁🗨" title="" src="/emoji/1f441-200d-1f5e8.svg"></picture >') ;
} ) ;
it ( 'does an emoji whose filename is irregular' , ( ) => {
expect ( emojify ( '↙️' ) ) . toEqual ( '< img draggable="false" class="emojione" alt="↙️" title=":arrow_lower_left:" src="/emoji/2199.svg">') ;
expect ( emojify ( '↙️' ) ) . toEqual ( '< picture>< img draggable="false" class="emojione" alt="↙️" title=":arrow_lower_left:" src="/emoji/2199.svg"></picture >') ;
} ) ;
it ( 'avoid emojifying on invisible text' , ( ) => {
@ -67,11 +67,11 @@ describe('emoji', () => {
it ( 'avoid emojifying on invisible text with nested tags' , ( ) => {
expect ( emojify ( '<span class="invisible">😄<span class="foo">bar</span>😴</span>😇' ) )
. toEqual ( '<span class="invisible">😄<span class="foo">bar</span>😴</span>< img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">') ;
. toEqual ( '<span class="invisible">😄<span class="foo">bar</span>😴</span>< picture>< img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg"></picture >') ;
expect ( emojify ( '<span class="invisible">😄<span class="invisible">😕</span>😴</span>😇' ) )
. toEqual ( '<span class="invisible">😄<span class="invisible">😕</span>😴</span>< img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">') ;
. toEqual ( '<span class="invisible">😄<span class="invisible">😕</span>😴</span>< picture>< img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg"></picture >') ;
expect ( emojify ( '<span class="invisible">😄<br>😴</span>😇' ) )
. toEqual ( '<span class="invisible">😄<br>😴</span>< img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">') ;
. toEqual ( '<span class="invisible">😄<br>😴</span>< picture>< img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg"></picture >') ;
} ) ;
it ( 'does not emojify emojis with textual presentation VS15 character' , ( ) => {
@ -79,19 +79,19 @@ describe('emoji', () => {
. toEqual ( '✴︎' ) ;
} ) ;
it ( 'does a n simple emoji properly', ( ) => {
it ( 'does a simple emoji properly', ( ) => {
expect ( emojify ( '♀♂' ) )
. toEqual ( '< img draggable="false" class="emojione" alt="♀" title=":female_sign:" src="/emoji/2640.svg"><img draggable="false" class="emojione" alt="♂" title=":male_sign:" src="/emoji/2642.svg">') ;
. toEqual ( '< picture>< img draggable="false" class="emojione" alt="♀" title=":female_sign:" src="/emoji/2640.svg"></picture><picture>< img draggable="false" class="emojione" alt="♂" title=":male_sign:" src="/emoji/2642.svg"></picture >') ;
} ) ;
it ( 'does an emoji containing ZWJ properly' , ( ) => {
expect ( emojify ( '💂♀️💂♂️' ) )
. toEqual ( '< img draggable="false" class="emojione" alt="💂\u200D♀️ " title=":female-guard:" src="/emoji/1f482-200d-2640-fe0f_border.svg"><img draggable="false" class="emojione" alt="💂\u200D♂️ " title=":male-guard:" src="/emoji/1f482-200d-2642-fe0f_border.svg">') ;
. toEqual ( '< picture>< img draggable="false" class="emojione" alt="💂\u200D♀️ " title=":female-guard:" src="/emoji/1f482-200d-2640-fe0f_border.svg"></picture><picture>< img draggable="false" class="emojione" alt="💂\u200D♂️ " title=":male-guard:" src="/emoji/1f482-200d-2642-fe0f_border.svg"></picture >') ;
} ) ;
it ( 'keeps ordering as expected (issue fixed by PR 20677)' , ( ) => {
expect ( emojify ( '<p>💕 <a class="hashtag" href="https://example.com/tags/foo" rel="nofollow noopener noreferrer" target="_blank">#<span>foo</span></a> test: foo.</p>' ) )
. toEqual ( '<p>< img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg"> <a class="hashtag" href="https://example.com/tags/foo" rel="nofollow noopener noreferrer" target="_blank">#<span>foo</span></a> test: foo.</p>') ;
. toEqual ( '<p>< picture>< img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg"></picture > <a class="hashtag" href="https://example.com/tags/foo" rel="nofollow noopener noreferrer" target="_blank">#<span>foo</span></a> test: foo.</p>') ;
} ) ;
} ) ;
} ) ;