* Custom emoji
- In OStatus: `<link rel="emoji" name="coolcat" href="http://..." />`
- In ActivityPub: `{ type: "Emoji", name: ":coolcat:", href: "http://..." }`
- In REST API: Status object includes `emojis` array (`shortcode`, `url`)
- Domain blocks with reject media stop emojis
- Emoji file up to 50KB
- Web UI handles custom emojis
- Static pages render custom emojis as `<img />` tags
Side effects:
- Undo #4500 optimization, as I needed to modify it to restore
  shortcode handling in emojify()
- Formatter#plaintext should now make sure stripped out line-breaks
  and paragraphs are replaced with newlines
* Fix emoji at the start not being converted
		
	
			
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			582 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			582 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'rails_helper'
 | |
| 
 | |
| RSpec.describe CustomEmoji, type: :model do
 | |
|   describe '.from_text' do
 | |
|     let!(:emojo) { Fabricate(:custom_emoji) }
 | |
| 
 | |
|     subject { described_class.from_text(text, nil) }
 | |
| 
 | |
|     context 'with plain text' do
 | |
|       let(:text) { 'Hello :coolcat:' }
 | |
| 
 | |
|       it 'returns records used via shortcodes in text' do
 | |
|         is_expected.to include(emojo)
 | |
|       end
 | |
|     end
 | |
| 
 | |
|     context 'with html' do
 | |
|       let(:text) { '<p>Hello :coolcat:</p>' }
 | |
| 
 | |
|       it 'returns records used via shortcodes in text' do
 | |
|         is_expected.to include(emojo)
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |