Sha256: 402f752d1ef3e8d183c3f4ae069f0e94d9cab5e2a9c1670a7b99fbce58dae0ae

Contents?: true

Size: 869 Bytes

Versions: 1

Compression:

Stored size: 869 Bytes

Contents

require_relative '../spec_helper'

module LovelyRufus describe CLIWrapper do
  describe '#run' do
    let(:text) { "all right: stop, collaborate and listen\n" }
    let(:text_wrapper) { fake :text_wrapper, as: :class }

    it 'reads the passed stream to TextWrapper and prints the results' do
      stub(text_wrapper).wrap(text, width: 72) { text }
      lambda do
        CLIWrapper.new(text_wrapper: text_wrapper).run StringIO.new text
      end.must_output text
    end

    it 'accepts the desired width and passes it to TextWrapper' do
      wrap = <<-end.dedent
        all right: stop,
        collaborate and listen
      end
      stub(text_wrapper).wrap(text, width: 22) { wrap }
      lambda do
        stream = StringIO.new text
        CLIWrapper.new(%w[--width 22], text_wrapper: text_wrapper).run stream
      end.must_output wrap
    end
  end
end end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lovely_rufus-0.1.0 spec/lovely_rufus/cli_wrapper_spec.rb