diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/formatter_spec.rb | 23 | ||||
-rw-r--r-- | spec/models/concerns/remotable_spec.rb | 13 | ||||
-rw-r--r-- | spec/views/stream_entries/show.html.haml_spec.rb | 1 |
3 files changed, 36 insertions, 1 deletions
diff --git a/spec/lib/formatter_spec.rb b/spec/lib/formatter_spec.rb index d60d24bf6..0c2248cae 100644 --- a/spec/lib/formatter_spec.rb +++ b/spec/lib/formatter_spec.rb @@ -170,6 +170,29 @@ RSpec.describe Formatter do end end + + describe '#format_spoiler' do + subject { Formatter.instance.format_spoiler(status) } + + context 'given a post containing plain text' do + let(:status) { Fabricate(:status, text: 'text', spoiler_text: 'Secret!', uri: nil) } + + it 'Returns the spoiler text' do + is_expected.to eq 'Secret!' + end + end + + context 'given a post with an emoji shortcode at the start' do + let!(:emoji) { Fabricate(:custom_emoji) } + let(:status) { Fabricate(:status, text: 'text', spoiler_text: ':coolcat: Secret!', uri: nil) } + let(:text) { ':coolcat: Beep boop' } + + it 'converts the shortcode to an image tag' do + is_expected.to match(/<img draggable="false" class="emojione" alt=":coolcat:"/) + end + end + end + describe '#format' do subject { Formatter.instance.format(status) } diff --git a/spec/models/concerns/remotable_spec.rb b/spec/models/concerns/remotable_spec.rb index b39233739..a4289cc45 100644 --- a/spec/models/concerns/remotable_spec.rb +++ b/spec/models/concerns/remotable_spec.rb @@ -88,7 +88,18 @@ RSpec.describe Remotable do context 'parsed_url.host is empty' do it 'makes no request' do - parsed_url = double(scheme: 'https', host: double(empty?: true)) + parsed_url = double(scheme: 'https', host: double(blank?: true)) + allow(Addressable::URI).to receive_message_chain(:parse, :normalize) + .with(url).with(no_args).and_return(parsed_url) + + foo.hoge_remote_url = url + expect(request).not_to have_been_requested + end + end + + context 'parsed_url.host is nil' do + it 'makes no request' do + parsed_url = Addressable::URI.parse('https:https://example.com/path/file.png') allow(Addressable::URI).to receive_message_chain(:parse, :normalize) .with(url).with(no_args).and_return(parsed_url) diff --git a/spec/views/stream_entries/show.html.haml_spec.rb b/spec/views/stream_entries/show.html.haml_spec.rb index 34207aa6b..d06bb7abb 100644 --- a/spec/views/stream_entries/show.html.haml_spec.rb +++ b/spec/views/stream_entries/show.html.haml_spec.rb @@ -12,6 +12,7 @@ describe 'stream_entries/show.html.haml', without_verify_partial_doubles: true d allow(view).to receive(:full_asset_url).and_return('//asset.host/image.svg') allow(view).to receive(:local_time) allow(view).to receive(:local_time_ago) + allow(view).to receive(:current_account).and_return(nil) assign(:instance_presenter, InstancePresenter.new) end |