@ -11,8 +11,8 @@ describe('emoji', () => {
} ) ;
it ( 'works with unclosed tags' , ( ) => {
expect ( emojify ( 'hello>' ) ) . toEqual ( 'hello > ') ;
expect ( emojify ( '<hello' ) ) . toEqual ( ' <hello ') ;
expect ( emojify ( 'hello>' ) ) . toEqual ( 'hello > ') ;
expect ( emojify ( '<hello' ) ) . toEqual ( ' ') ;
} ) ;
it ( 'works with unclosed shortcodes' , ( ) => {
@ -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" / >') ;
'<img draggable="false" class="emojione" alt="👩👩👦👦" title=":woman-woman-boy-boy:" src="/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg" >') ;
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" / >') ;
'<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" >') ;
expect ( emojify ( '\u2757' ) ) . toEqual (
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg" / >') ;
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg" >') ;
} ) ;
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" / >') ;
'<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">') ;
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" / >') ;
'<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">') ;
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" / >') ;
'<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">') ;
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 <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') ;
} ) ;
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 ( '<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">') ;
} ) ;
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 ( '<img draggable="false" class="emojione" alt="👁🗨" title="" src="/emoji/1f441-200d-1f5e8.svg" >') ;
} ) ;
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 ( '<img draggable="false" class="emojione" alt="↙️" title=":arrow_lower_left:" src="/emoji/2199.svg" >') ;
} ) ;
it ( 'avoid emojifying on invisible text' , ( ) => {
@ -67,26 +67,26 @@ 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><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg" >') ;
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" / >') ;
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">😄<span class="invisible">😕</span>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg" >') ;
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">') ;
} ) ;
it ( 'skips the textual presentation VS15 character' , ( ) => {
expect ( emojify ( '✴︎' ) ) // This is U+2734 EIGHT POINTED BLACK STAR then U+FE0E VARIATION SELECTOR-15
. toEqual ( '<img draggable="false" class="emojione" alt="✴" title=":eight_pointed_black_star:" src="/emoji/2734_border.svg" / >') ;
. toEqual ( '<img draggable="false" class="emojione" alt="✴" title=":eight_pointed_black_star:" src="/emoji/2734_border.svg" >') ;
} ) ;
it ( 'does an 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 ( '<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">') ;
} ) ;
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 ( '<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">') ;
} ) ;
} ) ;
} ) ;