Sha256: 903def1741eac4b937c43465ca4cf8f1cedb23bf641a6c0aaca7d1f87e490faa

Contents?: true

Size: 1.65 KB

Versions: 9

Compression:

Stored size: 1.65 KB

Contents

require 'spec_helper'

describe Slack::Messages::Formatting do
  subject do
    Slack::Messages::Formatting
  end
  context '#unescape' do
    it 'plain text' do
      expect(subject.unescape('plain text')).to eq 'plain text'
    end
    it 'decodes an HTML-encoded message' do
      expect(subject.unescape('Hello &amp; &lt;world&gt;')).to eq 'Hello & <world>'
    end
    it 'unescapes a user reference' do
      expect(subject.unescape('Hey <@U024BE7LH|bob>, did you see my file?')).to eq 'Hey @bob, did you see my file?'
    end
    it 'unescapes a user reference without a name' do
      expect(subject.unescape('<@U02BEFY4U> ^^^')).to eq '@U02BEFY4U ^^^'
    end
    it 'unescapes a URL without text' do
      expect(subject.unescape('This message contains a URL <http://foo.com/>')).to eq 'This message contains a URL http://foo.com/'
    end
    it 'unescapes a URL with text' do
      expect(subject.unescape('So does this one: <http://www.foo.com|www.foo.com>')).to eq 'So does this one: www.foo.com'
    end
    it 'removes mailto' do
      expect(subject.unescape('<mailto:bob@example.com|Bob>')).to eq 'Bob'
    end
    it 'unlinkifies references' do
      expect(subject.unescape('Hello <@U123|bob>, say hi to <!everyone> in <#C1234|general>')).to eq 'Hello @bob, say hi to @everyone in #general'
    end
    it 'can handle a lone &gt;' do
      expect(subject.unescape('Hello <@U123|bob> &gt; file.txt')).to eq 'Hello @bob > file.txt'
    end
    it 'unescapes a double smart quote' do
      expect(subject.unescape('“hello”')).to eq '"hello"'
    end
    it 'unescapes a single smart quote' do
      expect(subject.unescape('‘hello’')).to eq "'hello'"
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
slack-ruby-client-0.14.4 spec/slack/messages/formatting_spec.rb
slack-ruby-client-0.14.3 spec/slack/messages/formatting_spec.rb
slack-ruby-client-0.14.2 spec/slack/messages/formatting_spec.rb
slack-ruby-client-0.14.1 spec/slack/messages/formatting_spec.rb
slack-ruby-client-0.14.0 spec/slack/messages/formatting_spec.rb
slack-ruby-client-0.13.1 spec/slack/messages/formatting_spec.rb
slack-ruby-client-0.13.0 spec/slack/messages/formatting_spec.rb
slack-ruby-client-0.12.0 spec/slack/messages/formatting_spec.rb
slack-ruby-client-0.5.2 spec/slack/messages/formatting_spec.rb