Sha256: 68b3ddfef25b035bdc3e1550aa4ca8929a41f4e46bdcaffc6db6a17932c865f9

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

# frozen_string_literal: true

require_relative '../../test_helper'
require_relative '../../../lib/lovely_rufus/layers/hangout_wrapper'
require_relative '../../../lib/lovely_rufus/wrap'

module LovelyRufus
  module Layers
    describe HangoutWrapper do
      describe '#call' do
        it 'removes hangouts from the text' do
          text = <<-end.dedent
            I go crazy when I hear a cymbal and
            a hi-hat with a souped-up tempo
          end
          wrap = <<-end.dedent
            I go crazy when I hear a cymbal
            and a hi-hat with a souped-up tempo
          end
          hw = HangoutWrapper.new
          _(hw.call(Wrap[text, width: 35])).must_equal Wrap[wrap, width: 35]
        end

        it 'passes the fixed text to the next layer and returns its outcome' do
          final = fake(:wrap)
          layer = fake(:layer)
          mock(layer).call(any(Wrap)) { final }
          wrapped = HangoutWrapper.new(layer).call(Wrap["I O\nU", width: 4])
          _(wrapped).must_equal final
        end

        it 'doesn’t let the last line to hang out' do
          text = <<-end.dedent
            Just found out the Finnish term for grammar Nazi is pilkunnussija.
            Direct translation: comma fucker. You’re welcome.
          end
          _(HangoutWrapper.new.call(Wrap[text, width: 76]).text).must_equal text
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lovely_rufus-1.0.1 test/lovely_rufus/layers/hangout_wrapper_test.rb