diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-19 02:42:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-19 02:42:40 +0200 |
commit | 81cec35dbf1b348d23363559e3f4e6b1ec3415c5 (patch) | |
tree | d449c3c19a8147bd1bc44fc703a1fccb9b9b894d /spec/lib/ostatus | |
parent | c155d843f4d523d52ce4ce67491578385c06fd1b (diff) |
Custom emoji (#4988)
* 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
Diffstat (limited to 'spec/lib/ostatus')
-rw-r--r-- | spec/lib/ostatus/atom_serializer_spec.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/spec/lib/ostatus/atom_serializer_spec.rb b/spec/lib/ostatus/atom_serializer_spec.rb index 0451eceeb..b2480a53b 100644 --- a/spec/lib/ostatus/atom_serializer_spec.rb +++ b/spec/lib/ostatus/atom_serializer_spec.rb @@ -97,11 +97,23 @@ RSpec.describe OStatus::AtomSerializer do mentioned = element.nodes.find do |node| node.name == 'link' && - node[:rel] == 'mentioned' && - node['ostatus:object-type'] == TagManager::TYPES[:person] + node[:rel] == 'mentioned' && + node['ostatus:object-type'] == TagManager::TYPES[:person] end + expect(mentioned[:href]).to eq 'https://cb6e6126.ngrok.io/users/username' end + + it 'appends link elements for emojis' do + Fabricate(:custom_emoji) + + status = Fabricate(:status, text: ':coolcat:') + element = serialize(status) + emoji = element.nodes.find { |node| node.name == 'link' && node[:rel] == 'emoji' } + + expect(emoji[:name]).to eq 'coolcat' + expect(emoji[:href]).to_not be_blank + end end describe 'render' do |