@ -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♀️ ️ ) ; 
 
		
	
		
			
				        . toEqual ( '< picture>< img draggable="false" class="emojione" alt="💂\u200D♀️ /picture><picture>< img draggable="false" class="emojione" alt="💂\u200D♂️ ></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>') ; 
 
		
	
		
			
				    } ) ; 
 
		
	
		
			
				  } ) ; 
 
		
	
		
			
				} ) ;