* 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
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			582 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			26 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
 |