Sha256: 974c0a8440e4f6ccb7856d8b33874a95bfe9610d5a5b45a436f8ccde3715c3ec

Contents?: true

Size: 1018 Bytes

Versions: 1

Compression:

Stored size: 1018 Bytes

Contents

require 'test_helper'
require 'html/pipeline/gitlab'

class HTML::Pipeline::GitlabEmojiFilterTest < Minitest::Test
  GitlabEmojiFilter = HTML::Pipeline::Gitlab::GitlabEmojiFilter

  def test_emojify
    filter = GitlabEmojiFilter.new('<p>:heart:</p>', { asset_root: 'https://foo.com' })
    doc = filter.call
    assert_match 'https://foo.com/emoji/heart.png', doc.search('img').attr('src').value
  end

  def test_unsupported_emoji
    block = '<p>:sheep:</p>'
    filter = GitlabEmojiFilter.new(block, { asset_root: 'https://foo.com' })
    doc = filter.call
    assert_match block, doc.to_html
  end

  def test_uri_encoding
    filter = GitlabEmojiFilter.new('<p>:+1:</p>', { asset_root: 'https://foo.com' })
    doc = filter.call
    assert_match 'https://foo.com/emoji/%2B1.png', doc.search('img').attr('src').value
  end

  def test_required_context_validation
    exception = assert_raises(ArgumentError) {
      GitlabEmojiFilter.call("", {})
    }
    assert_match /:asset_root/, exception.message
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
html-pipeline-gitlab-0.1.3 test/html/pipeline/gitlab_gemoji_filter_test.rb